
Напишите программу на Паскале, которая в двумерном массиве находит самое большое значение и
элементы строки и столбца, на пересечении которых он стоит, делает нулевыми.Я начал решать, нашел максимальное значение в массиве, а вот дальше что-то не понял. Возьмите кол-во столбцов и строк по 5. Спасибо заранее. :)

Ответы на вопрос

arr: array[1..10,1..10] of integer;
Begin
rows := random(8) + 2;
columns := random(8) + 2;
writeln(rows, columns);
for i := 1 to rows do
for j := 1 to columns do
arr[i, j] := random(100);
for i := 1 to rows do begin
writeln();
for j := 1 to columns do
write(arr[i, j]:3);
end;
writeln();
writeln();
max_i:=1;
max_j:=1;
for i := 1 to rows do
for j := 1 to columns do
if arr[max_i, max_j] < arr[i, j] then begin
max_i:=i;
max_j:=j;
end;
for i := 1 to rows do
if i <> max_i then
arr[i, max_j] := 0;
for j := 1 to columns do
if j <> max_j then
arr[max_i, j] := 0;
for i := 1 to rows do begin
writeln();
for j := 1 to columns do
write(arr[i, j]:3);
end;
writeln();
writeln();
End.



Вот пример программы на языке Паскаль, которая выполняет указанную задачу:
```pascal program FindMaxElement;
const ROWS = 5; COLS = 5;
type TwoDimArray = array[1..ROWS, 1..COLS] of Integer;
var arr: TwoDimArray; maxVal: Integer; rowWithMaxVal, colWithMaxVal: Integer; i, j: Integer;
procedure InitializeArray(var arr: TwoDimArray); begin for i := 1 to ROWS do begin for j := 1 to COLS do begin arr[i, j] := Random(100); // Заполняем массив случайными значениями от 0 до 99 end; end; end;
procedure FindMaxValuePosition(var arr: TwoDimArray; var maxVal, rowWithMaxVal, colWithMaxVal: Integer); begin maxVal := arr[1, 1]; rowWithMaxVal := 1; colWithMaxVal := 1;
for i := 1 to ROWS do begin for j := 1 to COLS do begin if arr[i, j] > maxVal then begin maxVal := arr[i, j]; rowWithMaxVal := i; colWithMaxVal := j; end; end; end; end;
procedure SetRowAndColumnToZero(var arr: TwoDimArray; row, col: Integer); begin for i := 1 to COLS do begin arr[row, i] := 0; // Обнуляем элементы строки end;
for i := 1 to ROWS do begin arr[i, col] := 0; // Обнуляем элементы столбца end; end;
procedure PrintArray(var arr: TwoDimArray); begin for i := 1 to ROWS do begin for j := 1 to COLS do begin Write(arr[i, j]:3); // Выводим элементы массива end; Writeln; end; end;
begin Randomize; // Инициализируем генератор случайных чисел
InitializeArray(arr); Writeln('Исходный массив:'); PrintArray(arr); Writeln;
FindMaxValuePosition(arr, maxVal, rowWithMaxVal, colWithMaxVal); Writeln('Максимальное значение: ', maxVal); Writeln('Строка с максимальным значением: ', rowWithMaxVal); Writeln('Столбец с максимальным значением: ', colWithMaxVal); Writeln;
SetRowAndColumnToZero(arr, rowWithMaxVal, colWithMaxVal); Writeln('Массив после обнуления строки и столбца:'); PrintArray(arr); end. ```
Пожалуйста, обратите внимание, что в программе используется процедура `Randomize` для инициализации генератора случайных чисел. Это необходимо для заполнения массива случайными значениями при помощи функции `Random(100)`.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili