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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 14:56   #1
L3zh1Y
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 34
По умолчанию Минимакс в прямоугольной матрице

Здравствуйте, помогите пожалуйста найти минимум и максимум в прямоугольной матрице. В общем я задаю количество строк и столбцов, выбираю столбец и иду по строчно в поисках максимума и минимума. До третьей строки находит, дальше выдает ерунду какую-то. После сравниваю на наличие седловой точки. В чем ошибка?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
StringGrid1.ColCount:=strtoint(Edit1.Text);
StringGrid1.RowCount:=strtoint(Edit2.Text);
  for i:=0 to StrToint(Edit2.Text) do
  for j:=0 to strtoint(edit1.Text) do begin
    StringGrid1.Cells[j,i]:=IntToStr(random(20)-2); end;


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
StringGrid1.ColCount:=StringGrid1.ColCount+1;
StringGrid1.RowCount:=StringGrid1.RowCount+1;
for j:=0 to StringGrid1.ColCount-2 do
begin
min:=1000;
max:=1;
for i:=0 to StringGrid1.ColCount-2 do
begin
if strtoint(StringGrid1.Cells[i,j])<min then min:=strtoint(StringGrid1.Cells[i,j]);
if strtoint(StringGrid1.Cells[j,i])>max then max:=strtoint(StringGrid1.Cells[j,i]);
end;
StringGrid1.Cells[StringGrid1.ColCount-1,j]:=inttostr(min);
StringGrid1.Cells[j,StringGrid1.ColCount-1]:=inttostr(max);
end;
min:=1000;
max:=1;
for i:=0 to StringGrid1.ColCount-2 do
begin
if strtoint(StringGrid1.Cells[StringGrid1.ColCount-1,i])>max then max:=strtoint(StringGrid1.Cells[StringGrid1.ColCount-1,i]);
if strtoint(StringGrid1.Cells[i,StringGrid1.ColCount-1])<min then min:=strtoint(StringGrid1.Cells[i,StringGrid1.ColCount-1]);
if max=min then Label1.Caption:='Ñåäëîâàÿ òî÷êà íàéäåíà' else Label1.Caption:='Ñåäëîâàÿ òî÷êà íå íàéäåíà';
end;
end;
L3zh1Y вне форума Ответить с цитированием
Старый 19.01.2012, 16:41   #2
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
min:=StringGrid1.Cells[0,0];
max:=StringGrid1.Cells[0,0];
for j:=0 to StringGrid1.ColCount-1 do
 for i:=0 to StringGrid1.rowCount-1 do
  begin
   if strtoint(StringGrid1.Cells[j,i])<min then min:=strtoint(StringGrid1.Cells[j,i]);
   if strtoint(StringGrid1.Cells[j,i])>max then max:=strtoint(StringGrid1.Cells[j,i]);
  end;
end;
Простое нахождение максимального и минимального в таблице
antikiler_ вне форума Ответить с цитированием
Старый 19.01.2012, 17:13   #3
L3zh1Y
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 34
По умолчанию

Не работает, выдает вообще левые числа в добавленных ячейках!
L3zh1Y вне форума Ответить с цитированием
Старый 19.01.2012, 17:14   #4
L3zh1Y
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 34
По умолчанию

Не работает, выдает вообще левые числа в добавленных ячейках стринггрида=(((
L3zh1Y вне форума Ответить с цитированием
Старый 19.01.2012, 18:31   #5
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

Только что проверил, все отлично работае, только забыл
перевести ячейки в цифры
Код:
min:=strtoint(StringGrid1.Cells[0,0]);
max:=strtoint(StringGrid1.Cells[0,0]);
второе
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
StringGrid1.ColCount:=strtoint(Edit1.Text);
StringGrid1.RowCount:=strtoint(Edit2.Text);
  for i:=0 to StringGrid1.ColCount-1 do
  for j:=0 to StringGrid1.RowCount-1 do 
    StringGrid1.Cells[i,j]:=IntToStr(random(20)-2); 
end;
antikiler_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заданной прямоугольной матрице поставить на первое место столбец с наименьшим количеством нулевых элементов (Паскаль, Фортран) HuBuDuMkA Помощь студентам 0 21.12.2011 22:37
в целочисленной прямоугольной матрице вывести элементы последней строки в обратном порядке fanofinter Паскаль, Turbo Pascal, PascalABC.NET 3 07.11.2011 11:14
Минимакс и крестики-нолики alex_alpha Общие вопросы C/C++ 0 01.04.2010 10:49
Игра МиниМакс... $T@LKER Помощь студентам 0 12.05.2009 23:06
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца Aleo13 Помощь студентам 5 15.10.2008 18:34