Дан одномерный числовой массив. заменить каждый член на произведение предыдущих чётных членов.
204
305
Ответы на вопрос:
#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. arr. std: : rand); // находим первые два четных элемента. auto lambda = [](const unsigned int & i){ return (i % 2) == 0; }; auto ieven1 = std: : find_if(arr. arr. lambda); auto ieven2 = std: : find_if(ieven1 + 1 , arr. lambda); unsigned int neven1 = *ieven1; unsigned int neven2 = *ieven2; // изменяем. bool isturn = false; std: : transform(ieven2 + 1, arr. 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; }
Program test; const n = 100; var i,k: integer; m: array[1..n] of integer; begin randomize; for i: =1 to n do m[i]: =random(1,100); for i: =1 to n do if m[i] mod 2 =0 then inc(k); writeln('количество четных чисел: ',k); end.
Популярно: Информатика
-
AnnaKhusainova01.07.2022 03:56
-
Маликакот17.08.2021 15:14
-
misha42602.10.2021 01:58
-
РУСЛАН11322807.03.2023 20:24
-
Ilsinu20.02.2020 11:19
-
вика387928.03.2021 12:53
-
nastic2k216.02.2023 18:17
-
silverside20.06.2022 05:56
-
DebiloidTupoi08.11.2020 08:55
-
minickotik21.06.2021 23:05