Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента - Free Pascal
Формулировка задачи:
Не могли бы вы помочь с этим делом? Завтра сдавать, а ничего не идет
Дана целочисленная прямоугольная матрица.
1) Определить количество столбцов, не содержащих ни одного нулевого элемента.
2) Характеристикой строки целочисленной матрицы назовем сумму ее положитель¬ных четных элементов. Определить характеристики строк матрицы.
Оформить решения задач с помощью процедур и/или функций
(При решении задач не использовать глобальные переменные)
Решение задачи: «Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента»
textual
Листинг программы
uses crt; const nmax=15; type str=array[1..nmax] of integer; mtr=array[1..nmax] of str; procedure matrix(var a:mtr;var m,n:byte); var i,j:byte; begin repeat write('Количество строк до ',nmax,' m='); readln(m); until m in [1..nmax]; repeat write('Количество столбцов до ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=-5+random(11); write(a[i,j]:4); end; writeln; end; end; function kol(a:mtr;m,n:byte):byte; var i,j,k,c:byte; begin c:=0; for j:=1 to n do begin k:=0; i:=1; while(i<=m)and(k=0) do if a[i,j]=0 then k:=1 else inc(i); if k=0 then inc(c); end; kol:=c; end; function har(a:str;n:byte):integer; var j:byte; s:integer; begin s:=0; for j:=1 to n do if (a[j]>0)and(a[j] mod 2=0) then s:=s+a[j]; har:=s; end; var a:mtr; m,n,i:byte; begin clrscr; randomize; matrix(a,m,n); writeln('Количество столбцов без 0=',kol(a,m,n)); writeln('Характеристики строк'); for i:=1 to m do writeln('Строка ',i,'=',har(a[i],n)); readln end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д