М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
fgsjjhw
fgsjjhw
13.07.2020 09:49 •  Информатика

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

👇
Ответ:
vitalinaegorova
vitalinaegorova
13.07.2020
Где только находят такие задачи О_о ну вот :)

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.
4,6(65 оценок)
Открыть все ответы
Ответ:
mukola11
mukola11
13.07.2020
ответ давал уже когда-то... отклика не дождался, видимо. оно так надо было.

function Knight(x1, y1, x2, y2: integer): Boolean;
{ Возвращает True, если возможен переход с (x1,y1) на (x2,y2) }
begin
  if abs(x2 - x1) = 2 then Knight := (abs(y2 - y1) = 1)
  else
  if abs(x2 - x1) = 1 then Knight := (abs(y2 - y1) = 2)
  else Knight := false
end;

function Queen(x1, y1, x2, y2: integer): Boolean;
{ Возвращает True, если возможен переход с (x1,y1) на (x2,y2) }
begin
  Queen := (x1 = x2) or (y1 = y2) or (abs(x2 - x1) = abs(y2 - y1))
end;

var
  xk, yk, xq, yq: integer;

begin
  Write('Укажите через пробел координаты коня  [1..8]: ');
  Readln(xk, yk);
  Write('Укажите через пробел координаты ферзя [1..8]: ');
  Readln(xq, yq);
  if Knight(xk, yk, xq, yq) then Writeln('Конь бьет ферзя')
  else
  if Queen(xq, yq, xk, yk) then Writeln('Ферзь бьет коня')
  else Writeln('Фигуры не угрожают друг другу')
end.
4,7(66 оценок)
Ответ:
slava02555
slava02555
13.07.2020
Число 354:
Делим число на 2 и выписываем остатки
354 = 177·2 + 0
177 = 88·2 + 1
88 = 44·2 + 0
44 = 22·2 + 0
22 = 11·2 + 0
11 = 5·2 + 1
5 = 2·2 + 1
2 = 1·2 + 0
Последний множитель перед 2 равный 1 записываем первым.
Затем записываем найденные остатки в обратном порядке.
Получаем: 101100010
число 478:
Делим число на 2 и выписываем остатки
478 = 239·2 + 0
239 = 119·2 + 1
119 = 59·2 + 1
59 = 29·2 + 1
29 = 14·2 + 1
14 = 7·2 + 0
7 = 3·2 + 1
3 = 1·2 + 1
Последний множитель перед 2 равный 1 записываем первым.
Затем записываем найденные остатки в обратном порядке.
Получаем: 111011110
число 375:
Делим число на 2 и выписываем остатки
375 = 187·2 + 1
187 = 93·2 + 1
93 = 46·2 + 1
46 = 23·2 + 0
23 = 11·2 + 1
11 = 5·2 + 1
5 = 2·2 + 1
2 = 1·2 + 0
Последний множитель перед 2 равный 1 записываем первым.
Затем записываем найденные остатки в обратном порядке.
Получаем: 101110111
4,8(97 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ