type list=^student; student=record sname:string[20]; score:array[1..5] of integer; next:list; end; var i,j,n:integer; l,p,q:list; b:boolean; procedure add_el; begin write('# ',i,'. Имя: '); readln(q^.sname); writeln('Оценки:'); for j := 1 to 5 do readln(q^.score[j]); end; begin n:=4; new(q); add_el; l:=q; p:=q; for i:=2 to n do begin new(q); p^.next:=q; add_el; p:=q; end; q:=l; p:=l; while q<>nil do begin b:=true; for i:=1 to 5 do if q^.score[i]=2 then begin b:=false; continue; end; if b then begin p:=q; q:=q^.next; end else begin if q=l then begin l:=q^.next; dispose(q); q:=l; end else begin p^.next:=q^.next; dispose(q); q:=p^.next; end; end; end; q:=l; while q<>nil do begin writeln(q^.sname,' ',q^.score[1]:3, q^.score[2]:3, q^.score[3]:3, q^.score[4]:3, q^.score[5]:3); q:=q^.next; end; readln; end. |