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

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

Показать ответ
Ответ:
MARCOM03
MARCOM03
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-бота