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

Дан массив, содержащий 30 положительных целых чисел, не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем двумя нулями, уменьшить все чётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести изменённый массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем двумя нулями, нужно вывести массив без изменений.
Например, для массива из шести элементов, равных 12, 13, 8, 19, 10, 14,
нужно получить и вывести массив, содержащий числа 2, 13, 8, 19, 10, 4.

Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Python

# допускается также использовать
# целочисленные переменные j, k
a = []
N = 30
for i in range(0, N):
a.append(int(input()))
...

👇
Открыть все ответы
Ответ:
alla5051
alla5051
26.04.2022
// PascalABC.Net 3.0, сборка 1052
const
  nn=100;
var
  a:array[1..nn] of integer;
  p,s:longint;
  i,n:byte;
begin
  Write('Введите количество элементов в массиве: '); Read(n);
  Writeln('Вводите целочисленные элементы массива через пробел');
  s:=0; p:=1;
  for i:=1 to n do begin
    Read(a[i]);
    if i mod 2 = 0 then p:=p*a[i];
    s:=s+a[i]
  end;
  Writeln('Произведение элементов с четными номерами: ',p);
  Writeln('Среднее арифметическое элементов: ',s/n)
end.

Тестовое решение:
Введите количество элементов в массиве: 10
Вводите целочисленные элементы массива через пробел
-4 6 11 8 12 21 7 13 9 -15
Произведение элементов с четными номерами: -196560
Среднее арифметическое элементов: 6.8
4,7(29 оценок)
Ответ:
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

type
  R=sequence of integer;

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var P:R->BigInteger:=t->t.Aggregate(BigInteger(1),(p,q)->p*q);
  if P(a.Where(t->t.IsEven))>P(a.Where(t->t.IsOdd))
  then Writeln('Номер максимального элемента: ',a.IndexMax+1)
  else Writeln('Номер минимального элемента: ',a.IndexMin+1)
end.

Примеры
n= 17
31 98 7 42 -70 -98 -34 43 -48 -40 -28 -35 15 26 25 1 -66
Номер минимального элемента: 6

n= 15
95 88 -82 96 87 -68 17 40 -66 1 60 -25 -78 -55 -55
Номер максимального элемента: 4
4,8(24 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ