Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов - Pascal ABC
Формулировка задачи:
Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов матрицы.
Решение задачи: «Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов»
textual
Листинг программы
program pr; const n = 3; m = 5; type arr = array [1..n, 1..m] of integer; var i, j, r: integer; a: arr; function razn(x: arr; const n, m: integer): longint; var i, j, couto, coutp, ra: integer; begin couto := 0; coutp := 0; for i := 1 to n do for j := 1 to m do if x[i, j] < 0 then couto := couto + 1 else if x[i, j] > 0 then coutp := coutp + 1; ra := coutp - couto; razn := ra * ra; end; begin for i := 1 to n do for j := 1 to m do a[i, j] := random(21) - 10; for i := 1 to n do begin for j := 1 to m do write(a[i, j]:3); writeln; end; r := razn(a, n, m); writeln('Квадрат разницы количества положительных и отрицательных элементов матрицы: ', r); end.
Объяснение кода листинга программы
- Создается программа на языке Pascal ABC.
- В программе объявляются константы n и m, которые определяют размерность матрицы (в данном случае 3х5).
- Создается тип данных arr, который представляет собой массив целых чисел размером nхm.
- Объявляются переменные i, j, r типа integer, которые будут использоваться для итерации по матрице и подсчета количества положительных и отрицательных элементов.
- Объявляется переменная a типа arr, которая будет представлять собой заданную матрицу.
- В функции razn(x:arr; const n, m:integer):longint; используются две вспомогательные переменные couto и coutp типа integer. Изначально обе переменные устанавливаются в 0.
- В цикле for i := 1 до n выполняется итерация по строкам матрицы.
- В цикле for j := 1 до m выполняется итерация по столбцам матрицы.
- Внутри цикла проверяется значение элемента x[i, j]. Если элемент меньше нуля, то переменная couto увеличивается на 1. Если элемент больше нуля, то переменная coutp увеличивается на 1.
- После завершения циклов переменная ra устанавливается равной разнице переменных coutp и couto.
- Функция razn заканчивает работу и возвращает значение переменной ra.
- В основной части программы выполняется инициализация матрицы a с помощью функции random(21) - 10;.
- Выполняется цикл for i := 1 до n, внутри которого выполняется цикл for j := 1 до m. В каждой ячейке матрицы выводится значение a[i, j] с помощью функции write(a[i, j]:3);.
- После завершения циклов выводится значение переменной r, которое является результатом работы функции razn(a, n, m).
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д