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