Advertisement
PikMike

Untitled

Jun 7th, 2016
355
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.33 KB | None | 0 0
  1. uses crt;
  2. var Str,Strmax,Strmax2:string[52];
  3. simvol:char;
  4. i,N,nomer,ball,max,max2,nmax,nmax2:integer;
  5.  
  6. Begin
  7. max:=-1;
  8. max2:=-1;
  9. Strmax:='';
  10. nmax:=0;
  11. Writeln('Вве­ди­те ко­ли­че­ство уче­ни­ков: ');
  12. readln(N);
  13. for i:=1 to N do
  14. begin
  15. str:=''; //об­ну­ле­ние стро­ки
  16. Repeat         //счи­ты­ва­ем до про­бе­ла
  17. read(simvol);   //каж­дый сим­вол
  18. Str:=Str+simvol; //при­бав­ля­ем к стро­ке
  19. Until simvol=' ';  //Фа­ми­лия счи­та­на
  20. Repeat
  21. read(simvol);
  22. Str:=Str+simvol;
  23. Until simvol=' '; //Имя счи­та­но,при­бав­ле­но к стро­ке
  24. read(nomer); //счи­ты­ва­ем номер
  25. read(ball); //счи­ты­ва­ем балл
  26. if nomer=30 then     //нас ин­те­ре­су­ют уче­ни­ки толь­ко 30 школы
  27.    if ball>max then  //если те­ку­щий балл боль­ше мак­си­маль­но­го
  28.       begin
  29.            max2:=max; //быв­ший мак­си­мум-вто­рой мак­си­мум
  30.            max:=ball;  //мак­си­маль­ный балл-те­ку­щий балл
  31.            Strmax2:=strmax; //быв­ший луч­ший те­перь вто­рой луч­ший
  32.            Strmax:=Str;  //те­ку­щий уче­ник на­брал мак­си­маль­ный балл
  33.            nmax2:=nmax;
  34.            nmax:=1; //счет­чик самых луч­ших равен 1
  35.       end
  36. else
  37.     if ball=max then  begin//если те­ку­щий балл равен мак­си­маль­но­му
  38.          nmax:=nmax+1;
  39. Strmax2:=str;
  40. nmax2:=nmax;
  41. end
  42.       else if ball>max2 then  //если те­ку­щий балл боль­ше вто­ро­го луч­ше­го
  43.       begin
  44.       max2:=ball;
  45.       Strmax2:=Str;
  46.       nmax2:=1;
  47.      end
  48. else  if ball=max2 then nmax2:=nmax2+1; //если те­ку­щий балл равен 2 луч­ше­му
  49. end;
  50. if (nmax=2) or (nmax=1) and (nmax2=1) then //если 2 уче­ни­ка луч­шие
  51.    begin
  52.     writeln(Strmax);
  53.     writeln(Strmax2);
  54.    end
  55.    else
  56.    if (nmax=1) and (nmax2>1) then writeln(StrMax); //если один луч­ший
  57.    if nmax>2 then writeln(nmax);//если луч­ших много
  58. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement