Построить матрицу, которая образуется из исходной добавлением к ней строки максимальных значений по столбцам - Pascal
Формулировка задачи:
Обработка двумерных массивов (матриц)
Разработать программу, в которой предусмотреть:
- ввод размерности NxM двумерного массива А,
- задание элементов массива двумя способами: ввод с клавиатуры и формирование значений с помощью функции RANDOM(K) генерирования случайных чисел в диапазоне [0..К-1].
ВАРИАНТ ЗАДАНИЯ :
Построить новую матрицу, которая образуется из исходной добавлением к ней строки максимальных значений по столбцам.
Решение задачи: «Построить матрицу, которая образуется из исходной добавлением к ней строки максимальных значений по столбцам»
textual
Листинг программы
const n=5;m=4;k=10; var a:array[1..n,1..m] of integer; b:array[1..n+1,1..m] of integer; i,j,z:integer; begin randomize; repeat writeln('Матрица[',n,'x',m,']:'); writeln('1. Ручной ввод матрицы'); writeln('2. Автоматический ввод'); write('Ваш выбор:'); readln(i); until i in [1,2]; if i=1 then begin writeln('Вводите строки матрицы:'); for i:=1 to n do begin writeln('Строка ',i,':'); for j:=1 to m do read(a[i,j]); end; end else for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(k); write(a[i,j]:4); end; writeln; end; for j:=1 to m do begin b[n+1,j]:=a[1,j]; for i:=1 to n do begin if a[i,j]>b[n+1,j] then b[n+1,j]:=a[i,j]; b[i,j]:=a[i,j]; end; end; writeln('Полученная матрица:'); for i:=1 to n+1 do begin for j:=1 to m do write(b[i,j]:4); writeln; end; end.
Объяснение кода листинга программы
- Объявление констант:
n
со значением 5m
со значением 4k
со значением 10
- Объявление переменных:
a
как целочисленный массив размерности 5х4b
как целочисленный массив размерности 6х4i
,j
,z
как целочисленные переменные
- Начало выполнения программы, использующей генератор случайных чисел.
- Цикл, который выполняется, пока пользователь не выберет 1 или 2:
- Вывод на экран информации о матрице и доступных вариантах ввода (1. Ручной ввод матрицы, 2. Автоматический ввод)
- Запрос у пользователя выбора варианта
- Если пользователь выбрал ввод вручную, то:
- Вывод сообщения о вводе строк матрицы
- Цикл для ввода значений элементов матрицы
- В противном случае, если пользователь выбрал автоматический ввод, то:
- Генерация случайных значений для элементов матрицы
- Вывод на экран сгенерированной матрицы
- Заполнение массива
b
строкой, содержащей максимальные значения по столбцам:- Проход циклом по столбцам матрицы
a
- Нахождение максимального значения в столбце
- Присвоение этого значения элементу
b[n+1,j]
- Заполнение элементов
b[i,j]
значениями изa[i,j]
- Проход циклом по столбцам матрицы
- Вывод на экран полученной матрицы
b
, содержащей исходную матрицуa
с добавленной строкой максимальных значений по столбцам. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д