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

Во время проведения олимпиады каждый из участников получил свой идентификационный номер – натуральное число. необходимо отсортировать список участников олимпиады по количеству набранных ими . входные данные на первой строке дано число n (1 ≤ n ≤ 1000) – количество участников. на каждой следующей строке даны идентификационный номер и набранное число соответствующего участника. все числа во входном файле не превышают 105. выходные данные в выходной файл выведите исходный список в порядке убывания . если у некоторых участников одинаковые , то их между собой нужно упорядочить в порядке возрастания идентификационного номера. примеры входные данные 3 101 80 305 90 200 14 выходные данные 305 90 101 80 200 14 входные данные 3 20 80 30 90 25 90 выходные данные 25 90 30 90 20 80

👇
Ответ:
kati1200777
kati1200777
06.02.2023

type

  base = record

     id: integer;

     ball: integer;

  end;

var

  t: text;

  a: array of array of integer;

  n: integer;

  st, tmp: string;

  err: integer := 1;

  database: base;

begin

  readln(n);

  setlength(a, n);

  for i: integer := low(a) to high(a) do

     setlength(a[i], 2);

  for i: integer := low(a) to high(a) do

  begin

     readln(st);

     tmp := st;

     delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);

     database.id := strtoint(tmp);

     tmp := st;

     delete(tmp, 1, pos(' ', tmp, err));

     database.ball := strtoint(tmp);

     a[i, 0] := database.id;

     a[i, 1] := database.ball;

  end;

  var j: integer := 0;

  assign(t, 'output.txt');

  rewrite(t);

  while (j <= high(a)) do

  begin

     if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then

        if (a[j, 0] < a[j + 1, 0]) then begin

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

        end else begin

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

        end;

     if (j+1=n) then

        write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

     inc(j, 2);

  end;

  close(t);

end.

4,7(6 оценок)
Открыть все ответы
Ответ:
Dimn11
Dimn11
06.02.2023
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен , а маска равна , то адрес сети равен .
Узлы с IP-адресами и находятся в разных сетях.
4,5(9 оценок)
Ответ:
1234554321я
1234554321я
06.02.2023

Основная идея состоит в том, что каждая сумма – это сумма цифр, то есть она не может быть больше 18. Значит, надо разбивать каждое возможно получившееся число на однозначные и двузначные числа и смотреть, может ли такое быть.

1212 – возможно, например, из числа 666 (6+6 = 12, 6+6 = 12, итог: 1212)

129 – возможно, например, из числа 936 (9+3 = 12, 3+6 = 9, итог: 129)

123 – возможно, например, из числа 930

1218 – невозможно. Это число можно разбить только на два двузначных числа, но тогда 12 и 18 записаны в порядке возрастания, а по условию должно быть наоборот

1812 – возможно, например, из числа 993

312 – невозможно. Это число можно разбить либо на 3 и 12, либо на 31 и 2. В первом случае числа расположены в порядке возрастания, а во втором нельзя получить 31, так как сумма цифр не больше 18

912 – невозможно (аналогично с 312)

112 – возможно, например, из 920

Итого 5 чисел могут получиться.

ответ: 5

4,5(6 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ