Произвести заданные действия с матрицами - Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста глупому человеку. Я понимаю в принципе как это сделать, но мне лень разбираться и нет времени. Поэтому памагите Для этой задачи нужно написать код на проклятом паскале с использованием подпрограмм (процедур и функций, как удобно). И желательно блок схему) Хотя думаю ни у кого не будет желания посвятить 30 минут рисованию бесполезной блок схемы для университетской задачки. Вот задача Ввести матрицы A(n1,m1), B(n2,m2). Найти максимальные элементы в каждой матрице. В каждой матрице элементы первого и последнего столбцов заменить на максимум из другой матрицы. Подпрограммы: ввод матрицы, поиск максимального, замена, вывод матрицы.

Решение задачи: «Произвести заданные действия с матрицами»

textual
Листинг программы
program Matrixes;
 
const
    N = 10;
    M = 10;
 
type
    mat = array [1..N, 1..M] of integer;
 
procedure output(matr: mat; max: Integer);
var
    i, j: Integer;
begin
    for i:=1 to N do
    begin
        for j:=1 to M do
        begin
            if (j=1) or (j=M) then
                matr[i, j]:=max;
            write(matr[i, j]:4);
        end;
        writeln;
    end;
    writeln;
end;
    
function maxA(a: mat): Integer;
var
    i, j: Integer;
begin
    maxA:=0;
    for i:=1 to N do
        for j:=1 to M do
            if a[i, j]>maxA then
                maxA:=a[i, j];
    output(a, maxA);
end;
 
function maxB(b: mat): Integer;
var
    i, j: Integer;
begin
    maxB:=0;
    for i:=1 to N do
        for j:=1 to M do
            if b[i, j]>maxB then
                maxB:=b[i, j];
    output(b, maxB);
end;
 
procedure MatInit;
var
    a, b: array [1..N, 1..M] of integer;
    i, j: Integer;
begin
    randomize;
    for i:=1 to N do
    begin
        for j:=1 to M do
            a[i, j]:=random(100)+1;
    end;
    for i:=1 to N do
    begin
        for j:=1 to M do
            b[i, j]:=random(100)+1;
    end;
    maxA(a);
    maxB(b);
end;
 
begin
    MatInit;
    readln();
end.

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

  1. Объявлены константы N и M, которые задают размерность матрицы (в данном случае, 10х10).
  2. Определен тип матрицы - массив 10х10 целых чисел с индексами от 1 до N по строке и от 1 до M по столбцу.
  3. Выведена функция вывода матрицы на экран. Она проходит по всем элементам матрицы и выводит их значение, если элемент является внешним (первый или последний столбец), в противном случае записывает в него максимальное значение.
  4. Выведена функция нахождения максимального элемента в матрице типа a.
  5. Выведена функция нахождения максимального элемента в матрице типа b.
  6. Выведена функция инициализации матрицы случайными значениями от 1 до 100.
  7. Выведена функция, которая вызывает функцию инициализации матрицы, выводит максимальные значения в матрицах a и b, после чего выводит на экран приглашение для ввода данных.
  8. Программа завершается после считывания данных с помощью функции readln().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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