Сортировка записей
Код:
uses crt;
type
clinic = record
sur, add, diag : string;
sex: char;
age: byte;
end;
var
a: array[1..100] of clinic;
i,n,kol,x: byte;
key: char;
filename, town, y: string;
f: text;
begin
clrscr;
write('введите имя файла: ');
readln(filename);
assign(f,filename);
rewrite(f);
repeat
inc(i);
with a[i] do begin
write('фамилия пациента: ');
readln(sur);
writeln(f,'фамилия: ',sur);
write('пол (м/ж): ');
readln(sex);
writeln(f,'пол: ',sex);
write('возраст: ');
readln(age);
writeln(f,'возраст: ',age);
write('место проживания: ');
readln(add);
writeln(f,'город: ',add);
write('диагноз: ');
readln(diag);
writeln(f,'диагноз: ',diag);
end;
writeln('Выход? (д/н) ');
readln(key)
until upcase(key)='Д';
close(f);
n:=i;
write('введите наш город: ');
readln(town);
for i:=1 to n do
with a[i] do
if add<>town then inc(kol);
writeln('количество иногородних: ',kol);
writeln('введите X: ');
readln(x);
writeln('введите Y: ');
readln(y);
for i:=1 to n do
with a[i] do
if (age>x) and (diag=y) then
writeln('фамилия: ',sur);
readkey
end.
type
clinic = record
sur, add, diag : string;
sex: char;
age: byte;
end;
var
a: array[1..100] of clinic;
i,n,kol,x: byte;
key: char;
filename, town, y: string;
f: text;
begin
clrscr;
write('введите имя файла: ');
readln(filename);
assign(f,filename);
rewrite(f);
repeat
inc(i);
with a[i] do begin
write('фамилия пациента: ');
readln(sur);
writeln(f,'фамилия: ',sur);
write('пол (м/ж): ');
readln(sex);
writeln(f,'пол: ',sex);
write('возраст: ');
readln(age);
writeln(f,'возраст: ',age);
write('место проживания: ');
readln(add);
writeln(f,'город: ',add);
write('диагноз: ');
readln(diag);
writeln(f,'диагноз: ',diag);
end;
writeln('Выход? (д/н) ');
readln(key)
until upcase(key)='Д';
close(f);
n:=i;
write('введите наш город: ');
readln(town);
for i:=1 to n do
with a[i] do
if add<>town then inc(kol);
writeln('количество иногородних: ',kol);
writeln('введите X: ');
readln(x);
writeln('введите Y: ');
readln(y);
for i:=1 to n do
with a[i] do
if (age>x) and (diag=y) then
writeln('фамилия: ',sur);
readkey
end.
1) список иногородних с указанием городов в алфавитном порядке и для каждого города – список фамилий в алф. порядке (сортировка вставками по индексам по двум араметрам одновременно, индекс- номер позиции в файле)
2) список всех диагнозов, поставленных пациентам старше заданного возраста, в алфавитном порядке(челночная сортировка).
Помогите пожалуйста !