• Помогите пожалуйста!! Нужно написать программу в Паскале.
    На выборах в Государственную думу в избирательные бюллетени внесено N партий. Электронный сканер для считывания информации с бюллетеней передаёт информацию о каждом бюллетене в следующем формате: если в соответствующей клетке бюллетеня стоит пометка, то сканер передаёт + (плюс), в противном случае он передаёт − (минус). Таким образом, он передаёт последовательность из N символов — плюсов и минусов. Бюллетень считается действительным, если пометка есть ровно в одной клетке. Недействительные бюллетени в подсчёте результатов выборов не участвуют. Партия проходит в Государственную Думу, только если она набирает не менее 7% от общего числа действительных бюллетеней. Требуется вывести номера (в порядке их перечисления в бюллетене) всех партий, которые проходят в Государственную Думу.

Ответы 1

  • PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018Внимание! Если программа не работает, обновите версию!

    begin

     var n := ReadlnInteger('N=');

     var R := new integer[n];

     repeat

       var a := ReadlnString.ToCharArray;

       if a.Length <> N then break;

       if a.Where(c -> c = '+').Count = 1 then

         Inc(R[a.IndexOf('+')])

     until False;

     R.Transform(t -> t >= 0.07 * N ? 1 : 0);

     R.Numerate.Where(t -> t[1] = 1).Select(t -> t[0]).Println

    end.

    Пример

    (окончание ввода - строка длины отличной от N)

    N= 5

    -+---

    --+--

    -+---

    +----

    -+---

    --+--

    -+---

    +----

    ----+

    -+---

    1 2 3 5

    • Автор:

      julius352
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years