Войти
Регистрация
Спроси ai-bota
В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Показать больше
Показать меньше
макспростомакс1
01.04.2023 10:24 •
Информатика
Дан одномерный числовой массив. заменить каждый член на произведение предыдущих чётных членов.
Ответ:
utopia2
02.10.2020 05:36
#include <ctime>
#include <algorithm>
#include <vector>
int main()
{
// Заполняем.
const int n = 1000;
std::srand(time(0));
std::vector<unsigned int> arr(n);
std::generate(arr.begin(), arr.end(), std::rand);
// Находим первые два четных элемента.
auto lambda = [](const unsigned int & i){ return (i % 2) == 0; };
auto iEven1 = std::find_if(arr.begin(), arr.end(), lambda);
auto iEven2 = std::find_if(iEven1 + 1 , arr.end(), lambda);
unsigned int nEven1 = *iEven1;
unsigned int nEven2 = *iEven2;
// Изменяем.
bool isTurn = false;
std::transform(iEven2 + 1, arr.end(), iEven2 + 1,
[&isTurn, &nEven1, &nEven2](unsigned int i){
unsigned int t = i;
i = nEven1 * nEven2;
if (t % 2) return i;
isTurn = !isTurn;
if (isTurn) nEven1 = t;
else nEven2 = t;
return i;
});
return 0;
}
0,0
(0 оценок)
Популярные вопросы: Информатика
lol1049
21.08.2020 16:43
Определите, что будет выведено в результате работы фрагмента программы, представленной ниже. В качестве ответа укажите только ОДНО ЧИСЛО. s=10 for i=1 to 5 do s=s+2*i writeln...
gashuna
26.12.2022 04:05
У исполнителя Альфа две команды, которым присвоены номера: 1) прибавь 1; 2) раздели на b. Известно, что программа 11211 переводит число 20 в число 13. Определите значение b....
mashok3
31.08.2021 12:54
Help s=10 for i=1 to 5 do s=s+2*i writeln (s)...
gurova07
04.09.2020 09:49
Цикл. Задания Должны быть выведены все значения Х и Y, определить при каких значениях Х наблюдается Max и Min и их значения....
Про228ooo
18.12.2020 16:00
Определите значения t,x,y после выполнения фрагмента программы. x: =6; y: =134; t: =x mod y; x: =x+t+17; y: =y div x; t: =t+y...
tnepolu
14.08.2020 06:41
Решить (система счисления) в давние времена жил купец, было у него 10 дочерей. старшей дочери исполнилось 1000 лет. вторая была на 10 лет младше старшей и на десять лет старше...
ananas2106
11.04.2020 00:52
Положение участников Задачи Посылки. Участники В. 13) Кто ходит в гости по утрам На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, С, Т, У, Ф....
olesyapurzikova
15.09.2020 06:52
Что такое поле реляционной базы данных? строка таблицы столбец таблицыимя таблицы функция объекта глобальная сеть...
Jama133
03.09.2021 11:41
Пользовательский интерфейс конспект...
LizaPetukhova
16.04.2023 16:01
Объясните как решать все это 15 . 1 1, 98 : 40 0,9824 : 0, 16 0,432 ∙ 3,45 78,46 ∙ 0,001 14,76 ∙ 10000 47,25 : 0,1 2,51 : 100 2 выражение 12х-х-5-(4х-12) и найдите его значение...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#include <algorithm>
#include <vector>
int main()
{
// Заполняем.
const int n = 1000;
std::srand(time(0));
std::vector<unsigned int> arr(n);
std::generate(arr.begin(), arr.end(), std::rand);
// Находим первые два четных элемента.
auto lambda = [](const unsigned int & i){ return (i % 2) == 0; };
auto iEven1 = std::find_if(arr.begin(), arr.end(), lambda);
auto iEven2 = std::find_if(iEven1 + 1 , arr.end(), lambda);
unsigned int nEven1 = *iEven1;
unsigned int nEven2 = *iEven2;
// Изменяем.
bool isTurn = false;
std::transform(iEven2 + 1, arr.end(), iEven2 + 1,
[&isTurn, &nEven1, &nEven2](unsigned int i){
unsigned int t = i;
i = nEven1 * nEven2;
if (t % 2) return i;
isTurn = !isTurn;
if (isTurn) nEven1 = t;
else nEven2 = t;
return i;
});
return 0;
}