Задача на c++
Дан массив, состоящий из nn элементов. Требуется добавить в него число x на позицию p. При этом все элементы с позиций в диапазоне [p;n]должны сдвинуться на элемент вправо.
Формат входных данных
В первой строке входных данных дается число nn (1≤n≤100). В следующей строке даны n чисел, каждое из которых по модулю не превосходит 10 в 9 степени. На третьей строке даются число xx (также по модулю не превосходящее 10 в 9 степени) и число p (1≤p≤n+1). Все числа во входных данных целые.
Формат выходных данных
Требуется вывести обновленную последовательность, хранимую в массиве.
Answers & Comments
Verified answer
#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