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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2014, 01:18   #1
hrustnik
 
Регистрация: 15.06.2014
Сообщений: 8
По умолчанию delphi. как вывести минимальную строку и ее номер в memo (первокурсник2)

спасибо что поомгли в прошлой теме, но сейчас запутался как выести минимальную строку и ее номер в memo

Код:
begin
randomize;
n:=random(8)+ 2;
n1:=random(8)+ 2;
Edit1.Text:=inttostr(n+1);
Edit2.Text:=inttostr(n1+1);

With StringGrid1 do begin
 RowCount:=n+1;ColCount:=n1+1;
 for i:=0 to n do begin
  sum:=0;
  for j:=0 to n1 do begin
   x[i+1,j+1]:= random(10)+2;
   Cells[j,i]:= FormatFloat('0.00',x[i+1,j+1]);
   sum:= sum + x[i+1,j+1];
  end;
  Memo1.Lines.Add('Сумма элементов '+inttostr(i+1)+'-ой строки = '+inttostr(sum));
 end;
end;
end;

end;
hrustnik вне форума Ответить с цитированием
Старый 22.06.2014, 01:53   #2
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Почитай, и подумай, что отражает твоё название темы.
XE5 вне форума Ответить с цитированием
Старый 22.06.2014, 08:38   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как выести минимальную строку и ее номер в memo
Ну берешь ложку. Тарелку. На нее равнораспределенно высыпаешь свой код. Ставишь в микроволновку мин на 5. Потом поливаешь кетчупом и выедаешь )
Цитата:
сейчас запутался
А понятие "минимальную строку" это по твоему просто и понятно?
Ладно, стелепатирую.
Код:
 for i:=0 to n do begin
  sum:=0; 
  for j:=0 to n1 do begin
   x[i+1,j+1]:= random(10)+2;
   ...
  end;
  Objects[0,n]:=TObject(sum);
...
Так ты заставишь грид запомнить суммы.
А далее простым циклом для поиска минимального
Код:
  i:=0
  for j:=1 to n do begin   if integer(Objects[0,j])<Objects[0,i] then i:=j;
  Memo1.Lines.Add(inttostr(integer(Objects[0,i])));
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2014, 13:01   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Ну берешь ложку. Тарелку. На нее равнораспределенно высыпаешь свой код. Ставишь в микроволновку мин на 5. Потом поливаешь кетчупом и выедаешь )
Ну или так..
Изображения
Тип файла: jpeg getImage.jpeg (37.2 Кб, 45 просмотров)
Poma][a вне форума Ответить с цитированием
Старый 22.06.2014, 13:15   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ох и жуть...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2014, 00:24   #6
hrustnik
 
Регистрация: 15.06.2014
Сообщений: 8
По умолчанию

не очень разобрался с вашим кодом
вот мой и я так и не разобрался что мне делать (
Код:
begin
randomize;
n:=random(8)+ 2;
n1:=random(8)+ 2;
Edit1.Text:=inttostr(n+1);
Edit2.Text:=inttostr(n1+1);

With StringGrid1 do begin
 RowCount:=n+1;ColCount:=n1+1;
 for i:=0 to n do begin
  sum:=0;
  for j:=0 to n1 do begin
   x[i+1,j+1]:= random(10)+2;
   Cells[j,i]:= IntToStr(x[i+1,j+1]);
   sum:= sum + x[i+1,j+1];
  end;
  Memo1.Lines.Add('Сумма элементов '+inttostr(i+1)+'-ой строки = '+inttostr(sum));
 end;
end;
end;
hrustnik вне форума Ответить с цитированием
Старый 23.06.2014, 09:10   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

код, конечно, уже похож на рабочий, но, на мой взгляд, далёк от нормального...
(особенно раздражает n+1 n1+1 )

ок.

попробуйте дописать код так:
Код:
begin
randomize;
n:=random(8)+ 2;
n1:=random(8)+ 2;
Edit1.Text:=inttostr(n+1);
Edit2.Text:=inttostr(n1+1);

NomerStrokiMax := -1;

With StringGrid1 do begin
 RowCount:=n+1;ColCount:=n1+1;
 for i:=0 to n do begin
  sum:=0;
  for j:=0 to n1 do begin
   x[i+1,j+1]:= random(10)+2;
   Cells[j,i]:= IntToStr(x[i+1,j+1]);
   sum:= sum + x[i+1,j+1];
  end;
  Memo1.Lines.Add('Сумма элементов '+inttostr(i+1)+'-ой строки = '+inttostr(sum));
  if NomerStrokiMax<0 then begin
        NomerStrokiMax :=  i+1;
        MaxSum := sum; 
  end
  else
     if sum<MaxSum then begin
        NomerStrokiMax :=  i+1;
        MaxSum := sum; 
  end;
 end;

  Memo1.Lines.Add('Минимальная сумма элементов находится в строке '+inttostr(NomerStrokiMax)+' и равна  '+inttostr(MaxSum));

end;
end;
не забудьте описать целочисленные переменные NomerStrokiMax и MaxSum
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести в Memo информацию о установленном ПО (на Delphi) hysek Помощь студентам 12 02.05.2012 15:11
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? Vetal888888 C# (си шарп) 4 20.12.2011 13:46
как вывести номер строки,в котрой было найдено слово? Cathrin C# (си шарп) 2 28.11.2011 15:32
как удалить последнюю строку в Memo? annapro C++ Builder 3 04.06.2011 21:02
Как добавить нужную строку в memo Volkogriz Общие вопросы Delphi 5 02.12.2008 22:38