Код: Выделить всё
uses crt;
type ptr=^item;
item=record
data:string;
next :p tr;
end;
masiv=array[1..1] of integer;
matrix=array[1..1] of string;
mas=^masiv; mat=^matrix;
var head,current :p tr;
str:string;
n,i:integer;
key:char;
ma,pr,oc,ag:mas; prz:mat;
a,b,c,d:real;
procedure enter(val:string);
begin
new(current);
current^.data:=val;
current^.next:=head;
head:=current;
end;
procedure entmas(var v:mas);
begin
getmem(v,n*sizeof(integer));
writeln('‚vvedite ocenki');
for i:=1 to n do readln(v^[i]);
end;
procedure del(var val:string);
begin
current:=head;
val:=head^.data;
head:=current^.next;
dispose(current);
end;
procedure lin;
var i:integer;
begin for i:=1 to 64 do write('_');
writeln; end;
procedure lin2;
var i:integer;
begin for i:=1 to 64 do write('=');
writeln;
end;
function rah(h:mas):real;
var i,s:integer;
begin s:=0;
for i:=1 to n do begin
s:=s+h^[i];
end;
rah:=s/n;
end;
BEGIN
clrscr;
head:=nil;
repeat
clrscr;
writeln('1. vvod');
writeln('2. vivod');
writeln('3. ‚sortirovka stydentov');
writeln('4. vixod);
key:=readkey;
case key of
'1':begin
writeln('vvedi kilkist stydentiv');
readln(n);
for i:=1 to n do begin
writeln('vvedi prizv stydenta');
readln(str);
enter(str); end;
writeln('vvedite ocenki');
entmas(ma); entmas(pr); entmas(oc); entmas(ag);
end;
'2':begin
lin2;
getmem(pr,n*sizeof(integer));
write('|| Familiya || ');
for i:=1 to n do begin
del(str); prz^[i]:=str;
end;
for i:=n downto 1 do begin write(prz^[i]:12);
write(' | ');
end;
writeln('seredne');
writeln;
lin;
write('|| matanaliz ||');
for i:=1 to n do begin
write(ma^[i]:12,' | ');
end;
write(' ',rah(ma):3:2,' |');
writeln;
lin;
write('|| programirovaie ||');
for i:=1 to n do begin
write(pr^[i]:12,' | ');
end;
write(' ',rah(pr):3:2,' |');
writeln;
lin;
write('|| Os ||');
for i:=1 to n do begin
write(oc^[i]:12,' | ');
end;
write(' ',rah(oc):2:2,' |');
writeln;
lin;
write('|| Algebra ||');
for i:=1 to n do write(' | ');
writeln;
write('|| i geometria ||');
for i:=1 to n do begin
write(ag^[i]:12,' | ');
end;
write(' ',rah(ag):3:2,' |');
readln;
end;
'3': begin
...
....
....
end;
until key='4';
END.