Из матрицы исключить строку и столбец, содержащие максимальный элемент - Pascal
Формулировка задачи:
Составить программу, которая в задаваемом пользователем двумерном числовом массиве размеров n*n исключает строку и столбец, содержащие максимальный элемент массива.
Решение задачи: «Из матрицы исключить строку и столбец, содержащие максимальный элемент»
textual
Листинг программы
var a:array[1..10,1..10] of integer;
n,m,i,j,imx,jmx,mx:integer;
begin
repeat
write('Введите n от 2 до 10 n=');
readln(n);
until n in [2..10];
writeln('Исходный массив');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10+random(90);
write(a[i,j]:3);
if(i=1)and(j=1) then
begin
mx:=a[1,1];
imx:=1;
jmx:=1;
end
else if a[i,j]>mx then
begin
mx:=a[i,j];
imx:=i;
jmx:=j;
end;
end;
writeln;
end;
writeln('Максимальный элемент=',mx,' в строке ',imx,' в столбце ',jmx);
m:=n;
if imx=m then m:=m-1
else
begin
for i:=imx to m-1 do
for j:=1 to n do
a[i,j]:=a[i+1,j];
m:=m-1;
end;
if jmx=n then n:=n-1
else
begin
for j:=jmx to n-1 do
for i:=1 to m do
a[i,j]:=a[i,j+1];
n:=n-1;
end;
writeln('Массив после удаления строки и столбца с максимальным элементом');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Объяснение кода листинга программы
- Объявление переменных:
a: двумерный массив целых чисел размером от 1 до 10 по обеим осямn,m,i,j,imx,jmx,mx: целые переменные
- Пользователю предлагается ввести значение переменной
nот 2 до 10. - Заполнение и вывод исходного массива:
- Создание и заполнение массива
aслучайными целыми числами от 10 до 99 - Вывод на экран элементов массива с форматированием
- Определение максимального элемента и его позиции в массиве
- Создание и заполнение массива
- Вывод максимального элемента и его позиции в исходном массиве.
- Удаление строки с максимальным элементом:
- Если индекс максимального элемента равен
m, тоmуменьшается на 1 - В противном случае происходит сдвиг элементов для удаления строки с максимальным элементом
- Если индекс максимального элемента равен
- Удаление столбца с максимальным элементом:
- Если индекс максимального элемента равен
n, тоnуменьшается на 1 - В противном случае происходит сдвиг элементов для удаления столбца с максимальным элементом
- Если индекс максимального элемента равен
- Вывод массива после удаления строки и столбца с максимальным элементом.