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

1
то есть на месте максиамальнго значения 0 должен быть или заменить строки и столбец на нули на пересечини которых оно стоит?

Ответы и объяснения

2013-10-31T14:35:04+00:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.
Var max_i, max_j, j, columns, rows, i : integer;
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.