Построить матрицу, которая образуется из исходной добавлением к ней строки максимальных значений по столбцам - 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.

Объяснение кода листинга программы

  1. Объявление констант:
    • n со значением 5
    • m со значением 4
    • k со значением 10
  2. Объявление переменных:
    • a как целочисленный массив размерности 5х4
    • b как целочисленный массив размерности 6х4
    • i, j, z как целочисленные переменные
  3. Начало выполнения программы, использующей генератор случайных чисел.
  4. Цикл, который выполняется, пока пользователь не выберет 1 или 2:
    • Вывод на экран информации о матрице и доступных вариантах ввода (1. Ручной ввод матрицы, 2. Автоматический ввод)
    • Запрос у пользователя выбора варианта
  5. Если пользователь выбрал ввод вручную, то:
    • Вывод сообщения о вводе строк матрицы
    • Цикл для ввода значений элементов матрицы
  6. В противном случае, если пользователь выбрал автоматический ввод, то:
    • Генерация случайных значений для элементов матрицы
    • Вывод на экран сгенерированной матрицы
  7. Заполнение массива b строкой, содержащей максимальные значения по столбцам:
    • Проход циклом по столбцам матрицы a
    • Нахождение максимального значения в столбце
    • Присвоение этого значения элементу b[n+1,j]
    • Заполнение элементов b[i,j] значениями из a[i,j]
  8. Вывод на экран полученной матрицы b, содержащей исходную матрицу a с добавленной строкой максимальных значений по столбцам.
  9. Конец программы.

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы