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

Нужно написать программу в паскале. на выборах в государственную думу в избирательные бюллетени внесено n партий. электронный сканер для считывания информации с бюллетеней передаёт информацию о каждом бюллетене в следующем формате: если в соответствующей клетке бюллетеня стоит пометка, то сканер передаёт + (плюс), в противном случае он передаёт − (минус). таким образом, он передаёт последовательность из n символов — плюсов и минусов. бюллетень считается действительным, если пометка есть ровно в одной клетке. недействительные бюллетени в подсчёте результатов выборов не участвуют. партия проходит в государственную думу, только если она набирает не менее 7% от общего числа действительных бюллетеней. требуется вывести номера (в порядке их перечисления в бюллетене) всех партий, которые проходят в государственную думу.

👇
Ответ:
Alips
Alips
04.10.2022
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

4,7(95 оценок)
Открыть все ответы
Ответ:
Kovalenko2001N
Kovalenko2001N
04.10.2022

{PascalABC}

Program Begenjov1997;

const

 n = 30; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, sum: integer;

 s:string;

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do

   begin

     a[i]:=random(m+1);

   end;

{Ищем максимальную сумму двух соседних элементов}

 sum:=a[1]+a[2];

 for i:=2 to n-1 do

     if (a[i]+a[i+1]>sum) then sum:=a[i]+a[i+1];

{Заменяем элементы, кратные 3, наденной суммой}

 for i:=1 to n do

     if (a[i] mod 3 = 0) then  a[i]:=sum;

{Вывод}

 writeln('Массив А в обратном порядке:');

 for i:=0 to n-1 do writeln(a[n-i],'  ');

 writeln();

 writeln('Максимальная сумма двух соседних элементов равна ',sum);

end.

4,7(54 оценок)
Ответ:
0Assistant0
0Assistant0
04.10.2022

Program Begenjov1997;

const

 n = 30; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, min, max: integer;

 s:string;

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do a[i]:=random(m+1);

{Ищем максимальный и минимальный элементы}

 min:=a[1]; max:=a[1];

 for i:=1 to n do

   begin

     if (a[i]>max) then max:=a[i];

     if (a[i]<min) then min:=a[i];

   end;

{Заменяем минимальные элементы на максимальные}

 for i:=1 to n do

   if (a[i] = min) then a[i]:=max;

{Вывод}

 writeln('Массив:');

 for i:=1 to n do writeln(a[i]);

end.

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