Страница 1 из 1
Кажись смешно,а заклинило...MAX,MIN
Добавлено: 15 май 2006, 09:16
Dr_Grizzly
Всем привет, вот те и программист, элементарное не могу сообразить, зато что-то посложнее легко, короче, есть двумерный массив, заполненный цифрами, нужно найти максимальное и минимальное число в нем. Тоже самое надо сделать с одномерным

) Меня прям клинит на этом

Добавлено: 15 май 2006, 11:01
Dr_Grizzly
Ну вот, кажись отпустило, наверное рано встал
Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
Mas:Array[1..5,1..5] of Integer;
Max,x,y:Integer;
begin
Randomize;
For x:=1 to 5 do
For y:=1 to 5 do
mas[x,y]:=Random(50);
Label2.Caption:='';
For x:=1 to 5 do
For y:=1 to 5 do
Label2.Caption:=Label2.Caption+IntToStr(mas[x,y])+' ';
Max:=Mas[1,1];
For x:=1 to 5 do
For y:=1 to 5 do
If Mas[x,y]>Max then
Max:=Mas[x,y];
Edit2.Text:=IntToStr(Max);
end;
А это одномерный
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
max,min,s,i:Integer;
Edit: Array[1..5] of Integer;
begin
Randomize;
For i:=1 to 5 do
Edit[i]:=Random(10);
Label1.Caption:='';
For i:=1 to 5 do
Label1.Caption:=Label1.Caption+' '+IntToStr(Edit[i]);
Max:=Edit[1];
For i:=1 to 5 do
If Edit[i]>Max then
Max:=Edit[i];
Min:=Edit[1];
For i:=1 to 5 do
If Edit[i]<Min then
Min:=Edit[i];
Edit1.Text:=IntToStr(Max)+' '+IntToStr(Min);
end;
Добавлено: 15 май 2006, 16:32
Blood_Magic
а в одном цикле слабо?
Добавлено: 15 май 2006, 22:29
Dr_Grizzly
Да ну чего тут сложно, меня клинило ваще на принципе поиска и сравнения числа
Код: Выделить всё
Max:=Edit[1];
Min:=Edit[1];
For i:=1 to 5 do
Begin
If Edit[i]>Max then
Max:=Edit[i];
If Edit[i]<Min then
Min:=Edit[i];
end;
Дальше та дорабатывать фигня

Добавлено: 10 июл 2006, 11:25
Хыиуду
А если элементов массива мало, можно ввести функции max и min для двух элементов, а потом написать:
max1:=max(a[1], max(a[2], max(a[3], max(a[4], a[5]))));
аналогично минимум