Помогите написать программу на паскале!!!!!!!!!!!!!!!!!!!!!!!!! Дана прямоугольная матрица
размером . Определить номер строки, сумма элементов которой максимальна, и поменять местами эту строку и последнюю строку матрицы. Если данная строка оказалась последней, выдать на экран сообщение, о том, что менять строки местами не нужно.Ответы на вопрос
На входе вводим с клавиатуры размерность массива: n строк и m столбцов.
Первые два вложенных цикла - это ввод двумерного массива с помощью датчика случайных чисел randomize.
Далее во вложенных циклах ищем максимальную сумму элементов по строкам и запоминаем номер строки в переменную k.
Строку с выводом s и k писать не нужно.
Далее один цикл обмена к-той строки и последней.
Последние вложенные циклы выводят изменённый массив.
Прежде чем выводить массив нужно поставить поверку:
If k=m then write(‘Менять строки местами не нужно’) else begin и последние два вложенных цикла.

Конечно, вот программа на языке Pascal, которая решает задачу:
pascalprogram MaxSumRowSwap; const MAX_ROWS = 10; // Максимальное количество строк матрицы MAX_COLS = 10; // Максимальное количество столбцов матрицы type TMatrix = array[1..MAX_ROWS, 1..MAX_COLS] of Integer; var matrix: TMatrix; rows, cols: Integer; procedure InputMatrix(var matrix: TMatrix; rows, cols: Integer); var i, j: Integer; begin writeln('Введите элементы матрицы:'); for i := 1 to rows do begin for j := 1 to cols do read(matrix[i, j]); readln; end; end; procedure SwapRows(var matrix: TMatrix; cols: Integer; row1, row2: Integer); var temp: Integer; j: Integer; begin for j := 1 to cols do begin temp := matrix[row1, j]; matrix[row1, j] := matrix[row2, j]; matrix[row2, j] := temp; end; end; function FindMaxSumRow(const matrix: TMatrix; rows, cols: Integer): Integer; var i, j, maxSum, maxSumRow: Integer; currentSum: Integer; begin maxSumRow := 1; maxSum := 0; for i := 1 to rows do begin currentSum := 0; for j := 1 to cols do currentSum := currentSum + matrix[i, j]; if currentSum > maxSum then begin maxSum := currentSum; maxSumRow := i; end; end; Result := maxSumRow; end; procedure OutputMatrix(const matrix: TMatrix; rows, cols: Integer); var i, j: Integer; begin for i := 1 to rows do begin for j := 1 to cols do write(matrix[i, j]:4); writeln; end; end; var maxSumRow: Integer; begin writeln('Введите количество строк и столбцов матрицы (не более ', MAX_ROWS, 'x', MAX_COLS, '):'); readln(rows, cols); if (rows < 1) or (rows > MAX_ROWS) or (cols < 1) or (cols > MAX_COLS) then begin writeln('Некорректный размер матрицы.'); exit; end; InputMatrix(matrix, rows, cols); maxSumRow := FindMaxSumRow(matrix, rows, cols); writeln('Матрица до замены строк:'); OutputMatrix(matrix, rows, cols); if maxSumRow < rows then begin writeln('Меняем строку ', maxSumRow, ' с последней строкой.'); SwapRows(matrix, cols, maxSumRow, rows); end else writeln('Строка ', maxSumRow, ' уже является последней. Менять строки местами не нужно.'); writeln('Матрица после замены строк:'); OutputMatrix(matrix, rows, cols); end.
Программа позволяет ввести прямоугольную матрицу заданного размера, определяет номер строки с максимальной суммой элементов и меняет эту строку с последней, если это необходимо. Если максимальная сумма в последней строке, программа сообщит, что замена не требуется.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
