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