В матрице найти номера строк, содержащие в нечетных позициях нули, и определить количество различных элементов - Pascal
Формулировка задачи:
Дана целочисленная прямоугольная матрица.
1) найти номера строк, в которых на всех нечетных позициях стоят нули;
2) определить количество различных элементов матрицы
Решение задачи: «В матрице найти номера строк, содержащие в нечетных позициях нули, и определить количество различных элементов»
textual
Листинг программы
const n=3;m=4; type matr=array[1..n,1..m] of integer; var a:matr; procedure in_matr(var x:matr); var i,j:integer; begin for i:=1 to n do for j:=1 to m do x[i,j]:=random(6) end; procedure out_matr(x:matr;s:string); var i,j:integer; begin writeln(s); for i:=1 to n do begin for j:=1 to m do write(x[i,j]:4); writeln end; end; procedure n_0(x:matr); var i,j:integer; f,ff:boolean; begin ff:=false; write('Строки с нулями на всех нечетных позициях '); for i:=1 to n do begin f:=false; j:=1; while (not f) and (j<=m) do begin if x[i,j]<>0 then f:=true; inc(j,2) end; if not f then begin write(i,' ');ff:=true end; end; if not ff then write('отсутствуют'); writeln end; function k_r(x:matr):integer; type mas=array[1..n*m] of integer; var i,j,k,ke:integer; b:mas; f:boolean; begin ke:=0; for i:=1 to n do begin for j:=1 to m do begin k:=1;f:=false; while (not f) and (k<=ke) do begin if b[k]=x[i,j] then f:=true; inc(k) end; if not f then begin inc(ke);b[ke]:=x[i,j] end end end; k_r:=ke end; begin in_matr(a); out_matr(a,'Исходная матрица '); n_0(a); writeln('Различных элементов: ',k_r(a)) end.
Объяснение кода листинга программы
- Объявляется константа n с значением 3 и m со значением 4.
- Объявляется тип matr как массив размерности n на m, содержащий целые числа.
- Объявляется переменная a как matr (матрица).
- Описывается процедура in_matr, принимающая матрицу и заполняющая её случайными числами от 0 до 5.
- Описывается процедура out_matr, принимающая матрицу и строку s, и выводящая содержимое матрицы в консоль.
- Описывается процедура n_0, принимающая матрицу и ищущая строки, в которых находятся нули на нечетных позициях, и выводящая эти строки в консоль.
- Описывается функция k_r, принимающая матрицу и возвращающая количество различных элементов в матрице.
- В основной части программы вызывается процедура in_matr для заполнения матрицы, процедура out_matr для вывода исходной матрицы в консоль, процедура n_0 для поиска строк с нулями на нечетных позициях, и выводится количество различных элементов в матрице.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д