const n = 6; var i, j, {счетчики цикла} max, iNum,{макисмальный элемент и номер строки, на которой он находится} x, temp: integer; {x - номер строки, вводимый с клавиатуры, temp - временная переменнай, для сортировки} a: array[1..n, 1..n] of integer; {матрица целочисленных, размером n x n} begin writeln('Исходный массив: '); {инициализация массива, нахождение максимального элемента, и строки на которой он находится} for i := 1 to n do begin for j := 1 to n do begin a[i, j] := random(10); {заполням массив случайными числами от 0 до 9} if(i = j) and (a[i, j] > max) then begin { i = j - условие нахождения элемента на главной диагонали + ищем максимум} max := a[i, j]; {нашли максимум} iNum := i; {номер строки на которой находится максимум} end; write(a[i, j]:4); {печатаем строку} end; writeln; {переходим на новую} end; writeln('Максимальный элемент: ', max, #10{переход на новую строку}, 'Номер строки, где он находится: ', iNum); write('Введите номер строки (от 1 до ', n, '): '); read(x); writeln('После сортировки: '); {сортируем массив} for i := 1 to n do begin temp := a[x, i]; {присваиваем значение временной переменной на строке x, которая была введена} a[x, i] := a[iNum, i]; {меняем местами элемент на строке x и элемент на строке iNum(строка на которой находится максимум)} a[iNum, i] := temp; {присваиваем значение переменной на строке iNum, значение временной переменной} end; {печатаем массив} for i := 1 to n do begin for j := 1 to n do begin write(a[i, j]:4); end; writeln; end; end. {результат работы} { Исходный массив: 2 4 7 5 5 8 1 3 7 0 2 4 2 8 0 7 7 0 3 5 6 7 9 5 9 6 0 7 9 9 0 5 1 9 7 7 Максимальный элемент: 9 Номер строки, где он находится: 5 Введите номер строки (от 1 до 6): 4 После сортировки: 2 4 7 5 5 8 1 3 7 0 2 4 2 8 0 7 7 0 9 6 0 7 9 9 3 5 6 7 9 5 0 5 1 9 7 7 }