Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов - Pascal ABC

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

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

Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов матрицы.

Решение задачи: «Заданная матрица А размерности 3 х 5. Найти квадрат разницы количества положительных и отрицательных элементов»

textual
Листинг программы
  1. program pr;
  2.  
  3. const
  4.   n = 3;
  5.   m = 5;
  6.  
  7. type
  8.   arr = array [1..n, 1..m] of integer;
  9.  
  10. var
  11.   i, j, r: integer;
  12.   a: arr;
  13.  
  14. function razn(x: arr; const n, m: integer): longint;
  15. var
  16.   i, j, couto, coutp, ra: integer;
  17. begin
  18.   couto := 0;
  19.   coutp := 0;
  20.   for i := 1 to n do
  21.     for j := 1 to m do
  22.       if x[i, j] < 0 then couto := couto + 1
  23.       else if  x[i, j] > 0 then coutp := coutp + 1;
  24.   ra := coutp - couto;
  25.   razn := ra * ra;
  26. end;
  27.  
  28. begin
  29.   for i := 1 to n do
  30.     for j := 1 to m do
  31.       a[i, j] := random(21) - 10;
  32.   for i := 1 to n do
  33.   begin
  34.     for j := 1 to m do
  35.       write(a[i, j]:3);
  36.     writeln;
  37.   end;
  38.   r := razn(a, n, m);
  39.   writeln('Квадрат разницы количества положительных и отрицательных элементов матрицы: ', r);
  40. end.

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

  1. Создается программа на языке Pascal ABC.
  2. В программе объявляются константы n и m, которые определяют размерность матрицы (в данном случае 3х5).
  3. Создается тип данных arr, который представляет собой массив целых чисел размером nхm.
  4. Объявляются переменные i, j, r типа integer, которые будут использоваться для итерации по матрице и подсчета количества положительных и отрицательных элементов.
  5. Объявляется переменная a типа arr, которая будет представлять собой заданную матрицу.
  6. В функции razn(x:arr; const n, m:integer):longint; используются две вспомогательные переменные couto и coutp типа integer. Изначально обе переменные устанавливаются в 0.
  7. В цикле for i := 1 до n выполняется итерация по строкам матрицы.
  8. В цикле for j := 1 до m выполняется итерация по столбцам матрицы.
  9. Внутри цикла проверяется значение элемента x[i, j]. Если элемент меньше нуля, то переменная couto увеличивается на 1. Если элемент больше нуля, то переменная coutp увеличивается на 1.
  10. После завершения циклов переменная ra устанавливается равной разнице переменных coutp и couto.
  11. Функция razn заканчивает работу и возвращает значение переменной ra.
  12. В основной части программы выполняется инициализация матрицы a с помощью функции random(21) - 10;.
  13. Выполняется цикл for i := 1 до n, внутри которого выполняется цикл for j := 1 до m. В каждой ячейке матрицы выводится значение a[i, j] с помощью функции write(a[i, j]:3);.
  14. После завершения циклов выводится значение переменной r, которое является результатом работы функции razn(a, n, m).
  15. Программа завершается.

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


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

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

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы