KozyrevaAlbina
20.12.2020 23:03

Нужно на C++ на контейнере vector. Максимальное произведение

В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте.

Входные данные

На вход программе сначала подается значение n≤50000 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30000.

Выходные данные

Выдайте два искомых числа в порядке неубывания.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
virki2018
12.07.2021 08:15
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

№1

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  Writeln('Количество отрицательных значений ',a.Where(t->t<0).Count);
end.

Пример
n= 15
3 39 3 2 43 43 -37 -2 -50 3 -25 15 -7 4 21
Количество отрицательных значений 5

№2

begin
  var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var k:=ReadInteger('k=');
  if a.ElementsByRow.Any(t->t>k) then Writeln('Есть')
  else Writeln('Нет')
end.

Пример
Количество строк и столбцов в массиве: 5 8
*** Исходный массив ***
  -9  48 -98 -35 -33 -29  44 -32
 -33 -48 -62  11  45  53  52  90
 -96  -1  68 -21  15 -72 -78 -28
  44  15 -53 -33 -27  89 -60 -49
  28 -73 -99  81  23  -9 -93 -66

k= 92
Нет
0,0(0 оценок)
Ответ:
Relig1d
31.12.2021 01:16
В двоичной системе: 1243(10)=2^10+2^7+2^6+2^4+2^3+2^1+1 = 1024+128+64+16+8+2+1 = 1243(10) =10011011011(2)
В восьмиричной системе:  разбиваете двоичное представление на группы по 3 бита справа налево
011  = 3
011  = 3
011  = 3
10   = 2
Тогда в восьмиричной системе: 2333(8) = 2*8^3+3*8^2+3*8^1+3 = 1024+192+24+3=1243(10)
В шестнадцатиричной системе:  разбиваете двоичное представление на группы по 4 бита справа налево
1011 = B = 11(10)
1101 = D(16) = 13(10)
100  = 4
Тогда в шестнадцатиричной системе
4DB(16) = 4*16^2+13*16^1+11 =1024+208+11=1243(10)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота