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

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

  1. Объявляется константа n с значением 3 и m со значением 4.
  2. Объявляется тип matr как массив размерности n на m, содержащий целые числа.
  3. Объявляется переменная a как matr (матрица).
  4. Описывается процедура in_matr, принимающая матрицу и заполняющая её случайными числами от 0 до 5.
  5. Описывается процедура out_matr, принимающая матрицу и строку s, и выводящая содержимое матрицы в консоль.
  6. Описывается процедура n_0, принимающая матрицу и ищущая строки, в которых находятся нули на нечетных позициях, и выводящая эти строки в консоль.
  7. Описывается функция k_r, принимающая матрицу и возвращающая количество различных элементов в матрице.
  8. В основной части программы вызывается процедура in_matr для заполнения матрицы, процедура out_matr для вывода исходной матрицы в консоль, процедура n_0 для поиска строк с нулями на нечетных позициях, и выводится количество различных элементов в матрице.

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


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

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

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