Вывод на экран строки двумерного массива с наибольшим чётным числом - Turbo Pascal
Формулировка задачи:
помогите пожалуйста! надо составить программу для вывода на экран строки двумерного массива с наибольшим чётным числом.
Решение задачи: «Вывод на экран строки двумерного массива с наибольшим чётным числом»
textual
Листинг программы
uses crt;
const nmax=15;
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,mx,imx:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
imx:=0;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
if a[i,j] mod 2=0 then
if imx=0 then
begin
imx:=i;
mx:=a[i,j];
end
else if a[i,j]>mx then
begin
imx:=i;
mx:=a[i,j];
end;
end;
writeln;
end;
if imx=0 then write('В матрице нет четныъ элементов')
else
begin
writeln('Наибольший четный элемент=',mx,' в строке ',imx);
for i:=1 to n do
write(a[imx,i]:4);
end;
readln
end.
Объяснение кода листинга программы
- Создается переменная
a, которая представляет собой двумерный массив целых чисел размером от 1 до 15. - Задаются две переменные
mиn, которые представляют собой количество строк и столбцов матрицы соответственно. - Выводится запрос на ввод количества строк и столбцов матрицы.
- В цикле
repeat-untilзаполняется матрица случайными числами от 0 до 99. - Проверяется, является ли текущий элемент матрицы четным числом. Если это так, то запоминается его индекс и значение.
- Если в матрице нет четных элементов, выводится сообщение об этом.
- Если в матрице есть четные элементы, выводится сообщение о наибольшем из них, а также значения всех строк, где он встречается.