Skip to content

Instantly share code, notes, and snippets.

@ernado
Created February 5, 2012 09:08
Show Gist options
  • Save ernado/1744277 to your computer and use it in GitHub Desktop.
Save ernado/1744277 to your computer and use it in GitHub Desktop.
EGE
uses crt;
const MAX = 10; {максимальное количество строк в массиве}
{массив строк}
type
TGroupArray = array[1..MAX] of string[7];
var
groups: TGroupArray;
n,i,count:byte;
answer:real;
phone:string[7];
c:char;
{добавляет в массив value и увеличивает count, если в нем нет value.}
procedure AddOrUpdate(var db:TGroupArray; var n:byte; value:string);
var
exist:boolean;
i:byte;
begin
exist:=false;
{проверим, есть ли уже такое начало номера}
for i:=1 to n do
if (db[i]=value) then
begin
exist:=true;
break;
end;
{если нет - то добавим}
if not exist then
begin
inc(n); {увеличим количество префиксов}
db[n] := value;
end;
end;
begin
ClrScr;
WriteLn('Введите количество записей:');
ReadLn(n);
count:=0; {count - количество подразделений}
for i:=1 to n do
begin
Write(i,': ');
{пропустим имя}
repeat
read(c);
until c=' ';
{пропустим инициалы}
repeat
read(c)
until c=' ';
phone:='';
read(c);
{считаем номер}
while (c<>#13) do
begin
phone:=phone+c;
read(c);
end;
{добавим в список префиксов номеров подразделения}
AddOrUpdate(groups,count,copy(phone,7,9));
end;
answer:=n/count;
WriteLn('В среднем сотрудников в подразделении: ',result:2:1);
ReadKey;
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment