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
readln(fin, tmp);//Читаем строку из файла
p:= Pos(';', tmp);
Delete(tmp, 1, p);//удаляем все до первого разделителя
Delete(tmp, 1, p);//удаляем все до второго разделителя
// в tmp остался номер школы
student.school:=strtoint(tmp);
if student.school=n then s+=1;
writeln(s);
end.
a[0]=0
a[1]=1
...
a[10]=10
0 1 2 3 4 5 6 7 8 9 10
во втором цикле:
в первом проходе:
0 1 2 3 4 5 6 7 8 9 0
последний элемент замениться на 1 элемент
во 2 проходе:
предпоследний элемент заменится на 2 элемент
0 1 2 3 4 5 6 7 8 1 0
и так дальше:
3)0 1 2 3 4 5 6 7 2 1 0
4)0 1 2 3 4 5 6 3 2 1 0
5)0 1 2 3 4 5 4 3 2 1 0
6)0 1 2 3 4 5 4 3 2 1 0
дальше массив изменятся не будет:
7)0 1 2 3 4 5 4 3 2 1 0
8)0 1 2 3 4 5 4 3 2 1 0
9)0 1 2 3 4 5 4 3 2 1 0
10)0 1 2 3 4 5 4 3 2 1 0
11)0 1 2 3 4 5 4 3 2 1 0 - полученный массив
ответ: 4
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.