Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- A: array[1..15, 1..15] of integer; //двухмерный массив
- B: array[1..15] of integer; //одномерный массив
- i, j, m, n, max: integer; //переменные
- function MaxElement(max,val: integer): integer;
- begin
- if (max < val) then //функция поиска макс элемента, ей на вход приходит max (предыдущее максимальное значе
- begin //ние и val (текущее значение), если max < val, то max принимает значение val
- MaxElement:= val; // или ничего не меняется
- end
- else
- begin
- MaxElement:= max;
- end;
- end;
- procedure DrawMass(i, j: integer);
- begin
- writeln('Двумерный массив:');
- writeln;
- randomize;
- n := 1 + random(15); //размерность, случайное число от 1 до 15 //случаное кол-во строк массива
- m := 1 + random(15); //размерность, случайное число от 1 до 15 // случайное кол-во столбцов массива
- for i := 1 to n do
- begin
- max := 0;
- for j := 1 to m do
- begin
- a[i, j] := random(200); //элемент i-строки и j столбца равен случайному число от 1 до 199.
- write(a[i, j]:4);
- max:=MaxElement(max,a[i, j]); //переменная max принимает в себя значение которые получается в функции MaxElement
- end;
- writeln('max = ':10, max);
- B[i]:=max; //заполняется одномерный массив с максимальными значениями
- end;
- end;
- begin
- DrawMass(i,j);
- Writeln('________________________________________');
- Writeln('Максимальные элементы двумерного массива:');
- Writeln();
- for var z:=1 to High(B) do
- begin
- if (B[z] = 0) then //вывод одномерного массива, а для того, чтобы не выводились 0, то как только мы получаем элемент
- begin // у которого значение 0, то вызываем break т.к. завершение цикла и завершение программы.
- break; //это сделано потому, что не все элементы массива будут иметь значения.
- end //Максимум значений может быть 15 ( High(B) ), а по факту может быть только 1.
- else //выглядеть это будет так [230, 0, 0, 0, 0 и тд]
- begin
- write(B[z]:4);
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment