Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2015, 17:41   #1
Андрей_Андрей
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 1
По умолчанию Упорядочить строки матрицы по возрастанию их первых элементов

Упорядочить строки матрицы по возрастанию их первых элементов. Написал программу но в самом главном запутался. Помогите пожалуйста.
Код:
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
 
 int maxl,l,k,n,i,j,A[100][100];
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 j=0;
 for (i=0; i<4; i++)
 {
  StringGrid1->Cells[i][0]=("x["+IntToStr(i)+"]");
  StringGrid1->Cells[0][j]=("y["+IntToStr(i)+"]");
  StringGrid2->Cells[i][0]=("x["+IntToStr(i)+"]");
  StringGrid2->Cells[0][j]=("y["+IntToStr(i)+"]");
  j++;
 }
 StringGrid1->Cells[0][0]=("Массив А");
 StringGrid2->Cells[0][0]=("Массив B");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 k=StrToInt(Edit1->Text);
 n=StrToInt(Edit2->Text);
 StringGrid1->RowCount=k+1;
 StringGrid1->ColCount=n+1;
 StringGrid2->RowCount=k+1;
 StringGrid2->ColCount=n+1;
 for (i=1; i<=k; i++)
  {
   StringGrid1->Cells[0][i]=("y["+IntToStr(i)+"]");
   StringGrid2->Cells[0][i]=("y["+IntToStr(i)+"]");
  }
 for (j=1; j<=n; j++)
 {
  StringGrid1->Cells[j][0]=("x["+IntToStr(j)+"]");
  StringGrid2->Cells[j][0]=("x["+IntToStr(j)+"]");
 }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int min,max,max_i,min_i;   //главная часть программы
k=StrToInt(Edit1->Text);
n=StrToInt(Edit2->Text);
for (i=0; i<=k; i++)
for (j=0; j<=n; j++)
A[i][j]=StrToInt(StringGrid1->Cells[i+1][j+1]);
for (i=0; i<=k; i++)
{
 max=A[i][0];
 int maxl=i;
}
for (int l=i+1; i<n; i++)
{
 if (A[l][0]>max)
 {
 max=A[l][0];
 maxl=l;
 }
}
for (j=0; j<=n; j++)
StringGrid2->Cells[i+1][j+1]=(IntToStr(A[maxl][j]));
}
//---------------------------------------------------------------------------
Андрей_Андрей вне форума Ответить с цитированием
Старый 10.04.2015, 20:01   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

При быстром просмотре, не вникая в алгоритм косяк:
Код:
for (i=0; i<=k; i++)
{
 max=A[i][0];
 int maxl=i;
}

Че это вы тут присавиваете?
Код:
int maxl=i;
Локальной перменной, она уничтожится (вытолкнется из стека) при завершении цикла. Этот код не имеет смысла.

Код:
StringGrid1->Cells[0][0]=("Массив А");
 StringGrid2->Cells[0][0]=("Массив B");
Два раза присваиваете ячейке с одним и тем же номером разные значения, надо определиться.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки Анатолий171 Помощь студентам 123 04.07.2014 18:46
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Pascal Леви Помощь студентам 6 24.01.2014 13:08
Найти наименьший элемент в каждой строке матрицы и упорядочить строки по возрастанию этих элементов winrey Паскаль, Turbo Pascal, PascalABC.NET 1 21.10.2012 15:20
Delphi. упорядочить столбцы матрицы по возрастанию сумм элементов этого столбца ДваДваВо7 Помощь студентам 2 09.02.2011 16:40
(c++) Сортировка строк матрицы по возрастанию первых элементов Serg046 Помощь студентам 3 07.01.2010 23:17