Составить программу, выводящую ** экран сведения о периодических изданиях (наименование...

0 голосов
48 просмотров
Составить программу, выводящую на экран сведения о
периодических изданиях (наименование изда­ния, тираж, годовая стоимость).
Сначала вывести сведения, отсортированные по возрастанию тиража, затем вывести
сведения, отсортированные по
наименованию по алфа­виту.

Информатика (18 баллов) | 48 просмотров
Дан 1 ответ
0 голосов

Var
i, k, n, j, z, x:integer;
b, c, d:array[1..10000] of integer;
a, e:array[1..10000] of string;
m:string;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
readln(b[i]);
readln(c[i]);
for i:=1 to n do
for j:=1 to n do
if b[i]m:=a[i]; a[i]:=a[j]; a[j]:=m;
z:=b[i]; b[i]:=b[j]; b[j]:=z;
x:=c[i]; c[i]:=c[j]; c[j]:=x;
end;
for i:=1 to n do
writeln(a[i],' ',b[i],' ',c[i]);  {это сортировка по тиражу}
for i:=1 to n do begin
e[i]:=copy(a[i], 1, 2); {тут расчет на то, что название начинается с заглавной буквы английского алфавита}
val(e[i], d[i]); end;
for i:=1 to n do
for j:=1 to n do
if d[i]m:=a[i]; a[i]:=a[j]; a[j]:=m;
z:=b[i]; b[i]:=b[j]; b[j]:=z;
x:=c[i]; c[i]:=c[j]; c[j]:=x;
end;
for i:=1 to n do
writeln(a[i],' ',b[i],' ',c[i]); {сортировка по тиражу}
readln;
end.

(126 баллов)