const
n = 4;
type
student = record
N: byte;
prizv: string;
alg: real;
bal: 6..15;
matan,prog,os:2..5
end;
var
i,j: integer;
tabl: array[1..n] of student;
v:student;
s:real;
begin
writeln('VVedi dani stydentiv');
for i := 1 to n do
with tabl[i] do
begin
writeln('vvedi prizv');
readln(prizv);
writeln('vvedi predmet1');
readln(matan);
writeln('vvedi predmet2');
readln(prog);
writeln('vvedi predmet 3');
readln(os);
end;
for i:=1 to n do with tabl[ i ] do
begin
bal:=matan+prog+os;
end;
writeln('------------------------------------------------------');
writeln('| Surname| Matematuchnuy | Programyvannya | OS | summa ');
writeln('| | analis | | | ');
writeln('--------------------------------------------------------');
for i:=1 to n do
with tabl[i] do
begin
writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;
writeln('vidcortovano');
j:=0;
while j<=n do
begin
for i:=1 to n-1 do
if tabl[i].bal<tabl[i+1].bal then
begin
v:=tabl[i];
tabl[i]:=tabl[i+1];
tabl[i+1]:=v;
end;
inc(j);
end;
writeln('------------------------------------------------------');
writeln('| Surname| Matematuchnuy | Programyvannya | OS | summa ');
writeln('| | analis | | | ');
writeln('--------------------------------------------------------');
for i:=1 to n do
with tabl[i] do
begin
writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;
readln;
end.
она работает но у меня условие стоит чт нужно в таблицу данные не вводить а считать ее с внешнего файла(текстового) и отсортировать по сумме балов. подскажите как это сделать, пожалуйста? Файл прикрепил