Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д