//Pascal type TPupils = record firstname, surname: string; schoolNumber: integer; end;
var f: text; s, buf: string; i, j, tmp: byte; num, countPupils: integer; A: array [1..200] of TPupils; begin assign(f, 'data.txt'); reset(f); j := 1; while not eof(f) do begin readln(f, buf); buf := buf + ' '; tmp := 1;
for i := 1 to length(buf) do begin if pos(buf[i], ' ') = 0 then s := s + buf[i] else begin if length(s) > 0 then begin case tmp of 1: begin A[j].firstname := s; Inc(tmp); end; 2: begin A[j].surname := s; Inc(tmp); end; 3: begin Val(s, num, num); A[j].schoolNumber := num; end; end; //writeln(s); s := ''; end; end; end; Inc(j); end; close(f);
write('Введите № школы: '); readln(num);
for i := 1 to 200 do begin if A[i].schoolNumber = num then //writeln(A[i].firstname, ' ', A[i].surname, ' ', // A[i].schoolNumber); Inc(countPupils); end; writeln('Количество учеников в данной школе = ', countPupils); end.
type
Person = record
fname: string;//Фамилия ученика
lname: string;//Имя
school: integer;//Номер щколы
end;
var student: Person;
n,s,p:integer;
tmp:string;
fin:text;//Файловая переменная
begin
assign(fin, 'students.txt');
reset(fin);
readln(n);//Получаем номер школы
while not (eof(fin)) do
begin
readln(fin, tmp);//Читаем строку из файла
p:= Pos(';', tmp);
Delete(tmp, 1, p);//удаляем все до первого разделителя
p:= Pos(';', tmp);
Delete(tmp, 1, p);//удаляем все до второго разделителя
// в tmp остался номер школы
student.school:=strtoint(tmp);
if student.school=n then s+=1;
end;
writeln(s);
end.