Создать текстовый файл из четырех символьных массивов. Считать его и выдать на экран номера одинаковых элементов в каждом массиве (сравнить с первым элементом массива) — Pascal(Паскаль)

Program PascalGuru;

type
  vector = array [1 .. 50] of string[1];

  { ------------------------------------------------------------- }
procedure POVTOR(n: integer; a: vector);
  procedure ge(n: integer; a: vector);
  var
    i, j: integer;
    s, s2: Boolean;
  begin
    s2 := false;
    for i := 1 to n do
    begin
      s := true;
      for j := 1 to i - 1 do
        if a[j] = a[i] then
          s := false;
      if s then
      begin
        Write(a[i], ' ');
        s2 := true;
      end;
    end;
    if not s2 then
      Write('net povtoryayuschihsya');
  end;

var
  i, j, w: integer;
  b: vector;
  s: Boolean;
begin
  w := 0;
  for i := 1 to n do
  begin
    s := true;
    for j := 1 to n do
      if (i <> j) and (a[j] = a[i]) then
        s := false;
    if not s then
    begin
      inc(w);
      b[w] := a[i];
    end;
  end;
  ge(w, b);
end;

{ ------------------------------------------------------------- }
procedure view(s: string);
var
  i, code, n, p: integer;
  bukva: string;
  m: vector;
begin
  n := 0;

  p := pos(' ', s);
  i := 0;
  repeat
    bukva := copy(s, 1, p - 1);
    delete(s, 1, p);
    p := pos(' ', s);
    inc(i);
    m[i] := bukva;
  until p = 0;
  inc(i);
  m[i] := s;
  n := i;

  POVTOR(n, m);
  { for i:=1 to n do writeln(m[i]); }
end;

{ ----------------------------- }
var
  f, g: text;
  s: string;
  i: integer;

begin
  assign(f, 'file.txt');
  reset(f);

  i := 0;
  while not eof(f) do
  begin
    inc(i);
    readln(f, s);
    write('V ', i, '-om odinakovye: ');
    view(s);
    writeln;
  end;

  close(f);
  readln;

end.

Leave a Comment

28 − = 21