Показать сообщение отдельно
  #1  
Старый 25.04.2011, 10:59
Aleksey1924 Aleksey1924 вне форума
Прохожий
 
Регистрация: 25.04.2011
Сообщения: 2
Репутация: 10
По умолчанию Нужно вывести максимальное и минимальное значение из матрицы

Здравствуйте господа!

Подскажите пожалуйста, а то я застрял на этапе одном.
Описываю подробно.
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.
Фото программы

Помогите пожалуйста написать такой алгоритм, очень нужно.
Ответить с цитированием