![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте господа!
Подскажите пожалуйста, а то я застрял на этапе одном. Описываю подробно. 1) Я создал небольшую форму на которой расположены 3 кнопки и текстовое поле. Последняя кнопка (button3 ) выводит рандомные значения в матрице. Нужно теперь чтобы после формирования матрицы, выводилось из нее максимальное число и минимальное. Т.е. нужен краткий алгоритм сравнения. (а вот как его написать я не знаю, т.к. с делфи незнаком) Проще говоря: 1) Если число максимальное (самое большое) в массиве - то выводим на экран 2) Если число минимальное (самое маленькое) в массиве - то выводим на экран. Собственно теперь сам код программы: Код:
unit Project9; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.Add('Студент'); memo1.Lines.Add('Информатика'); end; procedure TForm1.Button2Click(Sender: TObject); var i:integer; s:string; begin s:=''; //устанавливаем строку пустой {формируем строку накапливая в ней цифры и пробелы между ними} for i:=1 to 5 do s:=s+' '+IntToStr(i); Memo1.Lines.Add(s); // выводим строку в Memo1 end; procedure TForm1.Button3Click(Sender: Tobject); var I, j:word;//Определяем переменные целого типа индексирующие строку и столбец massiv:array[1..3,1..4] of word; {Определяем двумерный массив(матрицу) целых чисел } s:string; //Определяем строку для заполнения её цифрами и последующего вывода begin Memo1.Clear;//Очищаем Memo1 randomize;// Инициализируем генератор случайных чисел for i:=1 to 3 do //Делаем двойной цикл чтобы заполнить массив massiv[I,j] for j:=1 to 4 do massiv[I,j]:=random(101);// случайными числами от 0 до 100 функцией random for i:=1 to 3 do begin // Цикл по строкам с индексом i s:=''; // очищаем переменную s содержащую строку for j:=1 to 4 do // Цикл по столбцам с индексом j s:=s+' '+IntToStr(massiv[I,j]);//Формируем строку s из столбцов j Memo1.Lines.Add(s);//Выводим строку в Memo1 end; end; end. ![]() Помогите пожалуйста написать такой алгоритм, очень нужно. Последний раз редактировалось Admin, 25.04.2011 в 13:04. |
#2
|
|||
|
|||
![]() Код:
procedure TForm1.Button3Click(Sender: TObject); var I, j:word;//Определяем переменные целого типа индексирующие строку и столбец massiv:array[1..3,1..4] of word; {Определяем двумерный массив(матрицу) целых чисел } s:string; //Определяем строку для заполнения её цифрами и последующего вывода MaxCh,MinCh:integer; begin Memo1.Clear;//Очищаем Memo1 MaxCh:=Low(MaxCh); MinCh:=High(MinCh); randomize;// Инициализируем генератор случайных чисел for i:=1 to 3 do //Делаем двойной цикл чтобы заполнить массив massiv[I,j] for j:=1 to 4 do begin massiv[I,j]:=random(101);// случайными числами от 0 до 100 функцией random if massiv[i,j]>MaxCh then MaxCh:=massiv[i,j]; if massiv[i,j]<MinCh then MinCh:=massiv[i,j]; end; for i:=1 to 3 do begin // Цикл по строкам с индексом i s:=''; // очищаем переменную s содержащую строку for j:=1 to 4 do // Цикл по столбцам с индексом j s:=s+' '+IntToStr(massiv[I,j]);//Формируем строку s из столбцов j Memo1.Lines.Add(s);//Выводим строку в Memo1 end; Memo1.Lines.Add('Максимальное='+IntToStr(MaxCh)); Memo1.Lines.Add('Минимальное='+IntToStr(MinCh)); end; |
#3
|
|||
|
|||
![]() Janom спасибо большое! задание идеально получилось то что надо! И главное все понятно, спасибо за такой понятный код.
|