Forezz

sdabgosdabgasodip

Sep 22nd, 2020 (edited)
1,003
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program magic;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses
  6.   {$IFDEF UNIX}{$IFDEF UseCThreads}
  7.   cthreads,
  8.   {$ENDIF}{$ENDIF}
  9.   Classes
  10.   { you can add units after this };
  11. Const n=10;
  12.  
  13. Var a: array[1..n] of integer;
  14.   count: array[1..n] of integer;
  15.   fl1 : boolean;
  16.   i, ex, k, j, z, m : integer;
  17.  
  18. begin
  19.   randomize;
  20.   m := 1;
  21.   for i:=1 to n do begin
  22.            a[i]:= random(2);
  23.  
  24.            writeln('a[', i, ']=',a[i]);
  25.            end;
  26. {создали массив}
  27.   count[1]:=a[1] - 1;
  28.  for i:=1 to n do begin {цикл, в котором каждый элемент захватывается для проверки}
  29.      fl1:=False; {флаг, который указывает, что экземпляр не был ещё посчитан}
  30.      ex:= a[i]; {выбираем число для подсчёта}
  31.      k:=1; {одно число уже точно есть}
  32.      for z:=1 to m do begin {проверяем массив посчитанных чисел}
  33.          if count[z] = ex then begin {если нашли, то ставим флаг, что этот элемент не нужно считать ещё раз}
  34.                            fl1 := True;
  35.                            break;
  36.                            end;
  37.          end;
  38.      if fl1 then continue;
  39.     {вместо условия вхождения в дальнейший код, проще сделать continue}
  40.  
  41.  
  42.     for j:=i + 1 to n do begin
  43.  
  44.          if a[j] = ex then begin
  45.                            k:= k + 1;
  46.          end;
  47.  
  48.  
  49.      end;
  50.      if k<>1 then
  51.      writeln('count(', ex, ')=', k);
  52.      count[m] := ex;
  53.      m := m + 1;
  54.  
  55.   end;
  56.  readln;
  57. end.                            
  58.  
RAW Paste Data