#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; }
kgrechin
26.09.2022
Uses sysutils,windows; var a: array of integer; i,n,s,o: integer; begin o: =0; s: =0; setconsoleoutputcp(1251); randomize; write('введите "n": '); readln(n); setlength(a,n); for i: =0 to length(a) do begin a[i]: =random(10)-5; write(a[i]: 3); end; writeln; writeln; for i: =0 to length(a) do begin if a[i] mod 2=1 then inc(s); if a[i]< 0 then inc(o); a[i]: =a[i]*(-1); end; writeln('кол-во отрицательных элементов: ',o); writeln('кол-во нечетных элементов: ',s); writeln; for i: =0 to length(a) do write(a[i]: 3); readln; end.