На c++ дан массив, состоящий из nn элементов. требуется добавить в него число x на позицию p. при этом все элементы с позиций в диапазоне [p; n]должны сдвинуться на элемент вправо. формат входных данных в первой строке входных данных дается число nn (1≤n≤100). в следующей строке даны n чисел, каждое из которых по модулю не превосходит 10 в 9 степени. на третьей строке число xx (также по модулю не превосходящее 10 в 9 степени) и число p (1≤p≤n+1). все числа во входных данных целые. формат выходных данных требуется вывести обновленную последовательность, хранимую в массиве.

LENUSEA2007 LENUSEA2007    2   25.08.2019 23:00    2

Ответы
Mimi1602 Mimi1602  09.09.2020 07:25
#include <iostream>
using namespace std;

int main() {
int n, x, p;
cin >> n;
int a[n+1];
for (int i=0; i<n; i++){
cin >> a[i];
}
cin >> x >> p;
for (int i=n; i>p-1; i--){
a[i] = a[i-1];
}
a[p-1] = x;
for (int i=0; i<n+1; i++){
cout << a[i] << " ";
}
cout << "\n";
return 0;
}

Пример:
5
4 2 9 7 3
8 4
4 2 9 8 7 3
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика