Guest abx

Решение заданий C4. Pascal

Recommended Posts

Guest abx   
Guest abx

Пара решений C4 by abx (ник не настоящий конечно же)

Из Ушакова 2012,варианты 2 и 6.

Вариант 2

program C4;

const

NSch = 99;

type

school = record

Num: Char;

Ball: Integer;

PCount: Integer;

AvgBall: Integer;

end;

Vector = Array[1..NSch] of school;

var

sch: Vector;

N,i: Integer;

c: Char;

schNo: Integer;

PBall: Integer;

MaxBall,NMaxBall: Integer;

MaxBallIndex: Integer;

spaceCount: Integer;

begin

for i := 1 To NSch Do

begin

sch.Ball := 0; sch.PCount := 0; sch.AvgBall := 0;

end;

ReadLn(N);

for i := 1 To N Do

begin

spaceCount := 0;

while (spaceCount <> 2) Do

begin

Read©;

if (c = ' ') then spaceCount := spaceCount + 1;

end;

Read(schNo,PBall);

sch[schNo].Ball := sch[schNo].Ball + PBall;

sch[schNo].PCount := sch[schNo].PCount + 1;

ReadLn;

end;

MaxBall := -1; NMaxBall := 1;

for i := 1 To NSch Do

begin

if (sch.PCount >= 1) then

begin

sch.AvgBall := Trunc(sch.Ball/sch.PCount);

if (sch.AvgBall > MaxBall) then

begin

MaxBall := sch.AvgBall;

NMaxBall := 1;

MaxBallIndex := i;

end

else

begin

if (sch.AvgBall = MaxBall) then NMaxBall := NMaxBall + 1;

end;

end;

end;

if (NMaxBall = 1) then

WriteLn(MaxBallIndex,' ',sch[MaxBallIndex].AvgBall)

else

WriteLn(NMaxBall);

end.

Share this post


Link to post
Share on other sites
Guest abx   
Guest abx

Вариант 6

Function Crypt(src: String):String;

var

dst: String;

i: Integer;

SrcLen: Integer;

Int: Integer;

begin

dst := '';

SrcLen := Length(src);

for i := 1 To SrcLen Do

begin

case src of

'A'..'Z':

begin

Int := ((Integer(src) + (SrcLen mod 26)) - Integer('A')) mod 26 + Integer('A');

dst := dst + Char(Int);

end;

'a'..'z':

begin

Int := ((Integer(src) + (SrcLen mod 26)) - Integer('a')) mod 26 + Integer('a');

dst := dst + Char(Int);

end;

end;

end;

Crypt := dst;

end;

var

prtStr,tmpStr: String;

i: Integer;

c: Char;

begin

prtStr := '';

Read©;

while (c <> '#') Do

begin

tmpStr := '';

while ( (c in ['A'..'Z']) or (c in ['a'..'z']) ) Do

begin

tmpStr := tmpStr + c;

Read©;

end;

if (Length(tmpStr) <> 0) then

begin

tmpStr := Crypt(tmpStr);

prtStr := prtStr + tmpStr;

tmpStr := '';

end

else

begin

prtStr := prtStr + c;

Read©;

end;

end;

prtStr := prtStr + c;

WriteLn(prtStr);

ReadLn; ReadLn;

end.

Share this post


Link to post
Share on other sites
Guest abx   
Guest abx

Условие можно прочитать в книжке выложенной где-то тут на форуме...Кому интересно пусть посмотрит,я же не настаиваю.Лично не знаю даже решать его на экзамене или нет,на отладку крипта убил около 30 минут блин,а там бумага,ручка, и сиди,отлаживай :D

Share this post


Link to post
Share on other sites

Мне кажется тут уже нужно либо заучивать, либо шпоры... по другому никак если не понимаешь... Вот я например тяп ляп могу сварганить, если за компом... А им еще нужно эффективную программу написать. Т.е. стопицот массивов нельзя использовать и все в таком духе)

Share this post


Link to post
Share on other sites
Guest MeneKK   
Guest MeneKK

у меня такая же проблема(( боюсь, что если на экзамене даже начну решать С4, то сделаю все так, что не разберешь потом, и наделаю кучу синтаксических ошибок ))

Share this post


Link to post
Share on other sites
Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, .
Ответить в теме...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Загрузка...

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу