Даны целые числа K, N, а также K наборов целых чисел по N элементов в каждом наборе. Для каждого набора вывести номер его первого элемента, равного 2, или число 0, если в данном наборе нет двоек — Pascal(Паскаль)

uses crt;
const nmax=20;
var a:byte;
    n,k,i,j,j2,f:byte;
begin
clrscr;
randomize;
repeat
writeln('Введите размер наборов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
writeln('Введите количество наборов до ',nmax,' k=');
readln(k);
until k in [1..nmax];
writeln('Наборы элементов:');
for i:=1 to k do
 begin
  write('Набор',i:2,': ');
  j2:=0;f:=0;
  for j:=1 to n do
   begin
    a:=random(10);
    write(a:3);
    if a=2 then
     begin
      f:=f+1;
      if f=1 then j2:=j;
     end;
   end;
  writeln;
  writeln('Номер первого элемента=2 = ',j2);
 end;
readln
end.

Следующий вариант

uses crt;
const nmax=20;
type nab=array[1..nmax] of byte;
     mas=array[1..nmax] of nab;
var a:mas;
    n,k,i,j,j2:byte;
    f:boolean;
begin
clrscr;
randomize;
repeat
writeln('Введите размер наборов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
writeln('Введите количество наборов до ',nmax,' k=');
readln(k);
until k in [1..nmax];
writeln('Наборы элементов:');
for i:=1 to k do
 begin
  write('Набор',i:2,' ');
  for j:=1 to n do
   begin
    a[i][j]:=random(10);
    write(a[i][j]:3);
   end;
  writeln;
 end;
writeln;
writeln('Номера первого элемента=2:');
for i:=1 to n do
 begin
  write('Набор',i:2,' ');
  j2:=0;
  for j:=1 to n do
  if a[i][j]=2 then
   begin
    j2:=j;
    break;
   end;
  writeln(j2:3);
 end;
readln
end.

Leave a Comment

− 4 = 1