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

База данных видеокамер, замеряющих скорости автомобилей содержит n записей о номерах проехавших автомобилей и их скорости в момент съемки. известна таблица штрафов за превышение допустимой скорости: скорость штраф от 0 до 70 км/ч нет штрафа (0 рублей) от 71 до 80 км/ч 100 рублей от 81 до 100 км/ч 300 рублей от 101 до 120 км/ч 1000 рублей от 121 км/ч 2000 для каждого зафиксированного камерой номера автомобиля определить максимальный штраф и вывести список номеров автомобилей в порядке убывания этого штрафа. входные данные в первой строке входного файла input.txt находится целое число n (0≤ n ≤100). следующие n строк входного файла содержат информацию о проехавших автомобилях: номер автомобиля (строка из 8 маленьких латинских букв и цифр), зафиксированная скорость (целое число от 0 до 250). данные в строке разделены пробелом. выходные данные в выходном файл output.txt для каждого зафиксированного автомобиля выведите сначала номер автомобиля, потом через пробел максимальный штраф. этот список необходимо вывести в порядке убывания штрафов. при равных штрафах автомобили выводятся в любом порядке. примеры: input.txt output.txt 5 a111aa78 150 o000oo00 70 a234bv56 65 a111aa78 110 o00oo00 83 a111aa78 2000 o000oo00 300 a234bv56 0

Показать ответ
Ответ:
mila7772
mila7772
01.10.2020 11:08
Где только находят такие задачи О_о ну вот :)

uses crt;
type auto=record
           nom:string;
           sht:integer;
           end; var f,g:text;
     a:array[1..100] of auto;
     s,s1:string;
     n,k,i,j,c,p,r:integer;
     x:auto;
begin
clrscr;
assign(f,'input.txt');
reset(f);
assign(g,'output.txt');
rewrite(g);
read(f,n);
readln(f,s);
readln(f,s);
k:=1;
a[k].nom:=copy(s,1,8);
delete(s,1,9);
val(s,a[k].sht,c);
for i:=2 to n do  
  begin
   readln(f,s);  
s1:=copy(s,1,8);
   delete(s,1,9);
   val(s,r,c);
   p:=0;
   j:=1;
   while(j<=k) and(p=0) do
   if s1=a[j].nom then
    begin
     p:=j;
     a[p].sht:=a[p].sht+r
    end
   else j:=j+1;
   if p=0 then
    begin
     k:=k+1;
     a[k].nom:=s1;
     a[k].sht:=r;
    end;
  end;
 close(f);
 for i:=1 to k-1 do
for j:=i+1 to k do
if a[i].sht<a[j].sht then
  begin
   x:=a[i];
   a[i]:=a[j];
   a[j]:=x;
  end;
 for i:=1 to k do
begin
writeln(g,a[i].nom,' ',a[i].sht);
 writeln(a[i].nom,' ',a[i].sht);
 end;
 close(g);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота