type TRecGPK=record N:integer; Name:string; end; var rec_mas:array [1..50] of TRecGPK; exchange:TRecGPK; i,j,el_count:integer; begin write('Vvedite chislo elementov: '); readln(el_count); for i:=1 to el_count do begin write('Vvedite ',i,'-u zapis (N <ENTER> Name): '); readln(rec_mas[i-1].n); readln(rec_mas[i-1].Name); end; { sortirovka } for i:=0 to el_count-1 do for j:=i+1 to el_count-1 do if (rec_mas[i].Name>rec_mas[j].Name) then begin exchange:=rec_mas[i]; rec_mas[i].N:=rec_mas[j].N; rec_mas[i].Name:=rec_mas[j].Name; { esli meniat elemeti-massiva zapisi mestami to nujno ix obmenivat po poliam zapisi, inache budiat gluki s 'writeln',provereno } rec_mas[j]:=exchange; end; { vivod otsortirovannix zapisei } writeln('N':5 ,' ', 'Name'); for i:=1 to el_count do writeln(rec_mas[i-1].N :5,' ', rec_mas[i-1].Name); readln; end. |