![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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 спасибо большое! задание идеально получилось то что надо! И главное все понятно, спасибо за такой понятный код.
|