Сформировать и вывести матрицу - Pascal ABC
Формулировка задачи:
Задано кол-во строк и столбцов матрицы(не более 10) и действительные значения ее элементов.Сформировать и вывести матрицу, каждый элемент которой равен среднему арифметическому исходных значений данного элемента и восьми соседних с ним.Значения элементов,находящихся за пределами заданной матрицы,считать равными нулю
Решение задачи: «Сформировать и вывести матрицу»
textual
Листинг программы
program For_seregaPovar; uses crt; var a: array[1..12, 1..12] of integer; b: array[1..12, 1..12] of real; i, j, n, m: integer; avg: real; procedure main(ip, jp: integer); var i, j: integer; begin for i := ip - 1 to 3 do for j := jp - 1 to 3 do avg := avg + a[i, j]; avg := avg / 9; end; begin Write('Введите кол-во столбцов: ');Readln(n); Write('Введите кол-во строк: ');Readln(m); Writeln('Вводите значения:'); for i := 2 to m + 1 do begin writeln(); for j := 2 to n + 1 do Read(a[i, j]); end; for i := 2 to m + 1 do for j := 2 to n + 1 do begin main(i, j); b[i - 1, j - 1] := avg; avg := 0; end; for i := 1 to m do begin for j := 1 to n do Write(b[i, j]:1:3, ' '); writeln(); end; end.
Объяснение кода листинга программы
- Создается программа
For_seregaPovar
, использующая язык программирования Pascal ABC. - В программе используются следующие переменные:
- a: двумерный массив целых чисел размером от 1 до 12 на 12 строк.
- b: двумерный массив чисел с плавающей точкой размером от 1 до 12 на 12 строк.
- i, j, n, m: целые числа, используемые для итерации по массивам.
- avg: переменная для хранения среднего значения.
- В процедуре main() происходит следующее:
- Цикл for i := ip - 1 до 3 do выполняется три раза.
- В каждой итерации цикла происходит еще один цикл for j := jp - 1 до 3 do, который собирает среднее значение a[i, j] в переменную avg.
- После завершения внутреннего цикла avg увеличивается на 9 раз (поскольку a[i, j] содержит целое число).
- Затем avg делится на 9, чтобы получить среднее значение.
- Далее происходит ввод значений для n и m с помощью функции Readln().
- Затем происходит ввод значений для a[i, j] с помощью функции Read(), где i и j начинаются с 2 и заканчиваются m + 1 и n + 1 соответственно.
- Для каждого i и j выполняется процедура main(), которая в свою очередь выполняет следующие действия:
- Выводит среднее значение avg.
- Записывает avg в b[i - 1, j - 1].
- Обнуляет переменную avg.
- Наконец, происходит вывод матрицы b с помощью функции Write(), где каждая строка выводится через пробел.