В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
yulia14683
yulia14683
08.09.2022 15:26 •  Информатика

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

Показать ответ
Ответ:
122519
122519
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота