ТутРешу.Ру

Помогите! База данных видеокамер…

Задание:

Помогите! База данных видеокамер, замеряющих скорости автомобилей содержит 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

Решение:

Где только находят такие задачи О_о ну вот 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; beginclrscr; 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 dofor j: =i+1 to k doif a[i].sht



Знаете другой ответ?

Отправить свой ответ