Найти сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент - Pascal

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

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

2. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент (оформить в виде функции).

Помогите пожалуйста с решением этих задач! Это мои лабораторные задачки! Они решат, какую оценку я получу на рубежном контроле...заранее всех благодарю!

Решение задачи: «Найти сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент»

textual
Листинг программы
uses crt;
const nmax=20;
type  matr=array[1..nmax,1..nmax] of integer;
procedure Summa(mt:matr;x,y:byte);
var i,j,k,p:byte;
    sm:integer;
begin
for j:=1 to y do
 begin
  k:=0;
  for i:=1 to x do
  if mt[i,j]<0 then{ищем отрицательные}
   begin
    k:=1;{есть в столбце}
    break;{дальше не ищем}
   end;
  if k=1 then{если есть}
   begin
    sm:=0;
    for p:=1 to x do
    sm:=sm+mt[p,j]; {считаем сумму}
    writeln('Сумма в столбце ',j,'=',sm);
   end;
 end;
end;
var a:matr;
   n,m,i,j:byte;
begin
clrscr;
randomize;
repeat
write('Количество строк=');readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов=');readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(20)-3;
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
Summa(a,n,m);
readln
end.

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

Данный код написан на языке Pascal и выполняет следующие действия:

  1. Создается переменная nmax, которая определяет максимальное количество строк и столбцов в матрице.
  2. Определяется тип matr, который представляет собой массив целых чисел размером до nmax на nmax.
  3. Создается процедура Summa, которая принимает матрицу mt, индексы x и y в виде байтов, а также переменные i, j, k и p в виде байтов.
  4. В цикле for перебираются строки от 1 до y.
  5. Внутри цикла проверяется, содержит ли текущая строка хотя бы один отрицательный элемент. Для этого используется цикл for, который перебирает столбцы от 1 до x.
  6. Если текущий столбец содержит отрицательный элемент, то переменная k устанавливается в 1, что означает, что текущая строка содержит отрицательный элемент.
  7. Если k равно 1, то начинается подсчет суммы элементов в текущем столбце. Для этого используется цикл for, который перебирает столбцы от 1 до x.
  8. После завершения подсчета суммы, выводится сообщение с результатом.
  9. В основной части кода создается переменная a, которая представляет собой матрицу размером n на m.
  10. Заполняются значения матрицы a случайными числами от -15 до 15.
  11. Выводится исходная матрица.
  12. Вызывается процедура Summa с аргументами a, n и m.
  13. Выводится сообщение с результатом выполнения процедуры.
  14. Конец программы.

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


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

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

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