Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы. Выяснить, имеются ли в школе однофамильцы — Pascal(Паскаль)

Program rgr7;

uses crt;

type
  stud = record
    fam, nam: string;
    god: integer;
    klass: char;
  end;

var
  f: text;
  a: array [0 .. 30] of stud;
  j, n, i: integer;
  b: stud;

begin
  clrscr;
  assign(f, 'stud.int');
  rewrite(f);
  write('Vvedite kolichestvo elementov: ');
  readln(n);
  for i := 1 to n do
    with a[i] do
    begin
      writeln(' Danye pro ', i, ' uchenika');
      write(' Familiya: ');
      readln(fam);
      write(' Imay: ');
      readln(nam);
      write(' Klass: ');
      readln(klass);
      write(' God: ');
      readln(god);
      writeln(f, fam);
      writeln(f, nam);
      writeln(f, klass);
      writeln(f, god);
    end;
  close(f);
  assign(f, 'stud.int');
  reset(f);
  for i := 0 to n do
  begin
    readln(f, a[i].fam);
    readln(f, a[i].nam);
    readln(f, a[i].klass);
    readln(f, a[i].god);
  end;
  close(f);
  for j := 0 to n - 1 do
    for i := 0 to n - j do
      if a[i].fam > a[i + 1].fam then
      begin
        b := a[i];
        a[i] := a[i + 1];
        a[i + 1] := b;
      end;
  for i := 1 to n - 1 do
  begin
    if a[i].fam = a[i + 1].fam then
      with a[i] do
      begin
        writeln('============================');
        writeln(fam);
        writeln(' ', nam);
        writeln(' ', klass);
        writeln(' ', god);
        writeln('============================');
      end;
  end;

end.

Leave a Comment

88 − = 79