А) Заполните массив натуральными числами в обратном порядке, начиная со значения X, введённого с клавиатуры. Последний элемент должен быть равен X, предпоследний – X–1 и т. д. б) Заполните массив степенями числа 2 (от 21 до 2N), так чтобы элемент с индексом i был равен 2i.
А) Не всегда возможно. Числа могут стать и отрицательными. Будем считать, что не только натуральными, а и целыми. #include "algorithm" #include "iostream" using namespace std; int main(){ int n,x,*a; cout<<"N X: "; cin>>n>>x; a=new int[n]; generate(a,a+n,[&]()mutable{return ++x-n;}); for(int i=0;i< n;i++)cout<<a<<; cout<< endl;} Б) Условие противоречиво. По одной его части элемент с индексом 0 должен быть равен 2^0=1, по другой части 2^1=2. Сделаем по тому, что в скобках. #include "algorithm" #include "iostream" using namespace std; int main(){ int n,x=1,*a; cout<<"N: "; cin>>n; a=new int[n]; generate(a,a+n,[&]()mutable{return x*=2;}); for(int i=0;i< n;i++)cout<<a<<; cout<< endl;}