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

musinasim musinasim    2   04.06.2019 05:30    14

Ответы
dasha68531 dasha68531  05.07.2020 09:53
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]<b[j] then begin
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]<d[j] then begin
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика