uses
  crt, graphABC;
var
  n, m, max1, max2, n1, n2: integer;
  a: array[1..3, 1..25] of integer;
  z: char;
procedure menu(var w: char);
begin
  clrscr;
  writeln('выберите пункт меню:');
  writeln('Y - условие');
  writeln('V - ввод данных');
  writeln('R - вывод данных');
  writeln('Q - выход');
  readln(w);
end;
procedure yslovie;
var
i: integer;
begin
  HideCursor;
  write('Приводится рост учеников 3 параллельных классов, где колличество n<=25 в каждом классе. Определить номера двух самых высоких учеников в каждом классе.');writeln;
  writeln;
  writeln('Автор работы : ');
  for i := 1 to 18 do writeln;
  writeln('                         Для выхода в меню нажмите Enter');
  readln;
end;
procedure vvod;
var
i,j: integer;
begin
clrscr;
  randomize;
  n := random(25 - 15) + 14; //ввод
  for i := 1 to 3 do
    for j := 1 to n do
      a[i, j] := random(195 - 141) + 140;
  
  
  for i := 1 to 3 do    //вывод
  begin
    for j := 1 to n do
      write(a[i, j]:4);
    write(' - класс №', i);
    writeln;
  end;
  for i := 1 to 17 do writeln;
  writeln('                         Для выхода в меню нажмите Enter');
  readln;
end;
procedure vivod;var
i,j: integer;
begin
clrscr;
  if a[1, 1] = 0 then writeln('Что ты как не человек. Данные введи сначало :)')
  else begin
    for i := 1 to 3 do    //вывод
    begin
      for j := 1 to n do
        write(a[i, j]:4);
      write(' - класс №', i);
      writeln;
    end;
    
    max1 := a[1, 1];
    for i := 1 to 3 do 
    begin
      max1 := 0;
      n1 := 0;
      n2 := 0;
      for j := 1 to n do
        if max1 < a[i, j] then begin
          n2 := n1;
          max2 := max1;
          n1 := j;
          max1 := a[i, j];
        end
        else if max2 < a[i, j] then begin
          max2 := a[i, j];
          n2 := j;
        end;
      writeln('В ', i, ' классе, ученики под номером ', n1:2, ' и ', n2:2, ' самые высокие');
    end;
  end;
  for i := 1 to 14 do writeln;
  writeln('                         Для выхода в меню нажмите Enter');
  readln;
end;
var
  w: char;
begin
  repeat
    clrscr;
    menu(w);
    case upcase(w) of
      'Y':
        begin
          clrscr;
          yslovie;
        end;
      'V':
        begin
          clrscr;
          vvod;
        end;
      'R':
        begin
          clrscr;
          vivod;
        end;
      'Q': closewindow;
    end;
  until upcase(w) = 'Q';
end.