Вопрос задан 24.06.2019 в 23:36. Предмет Информатика. Спрашивает Демянчук Ангеліна.

C++ Дан массив a a из n n элементов. Перенесите последний элемент массива на место k k -го

элемента. При этом k k -й, (k+1) (k+1) -й, ... , предпоследний элементы сдвинуть вправо на 1 позицию. Формат входных данных С клавиатуры вводится натуральное число n n ( n≤100 n≤100 ) — размер массива. Во второй строке вводятся n n элементов массива через пробел. Все элементы целые и не превосходят по модулю 100 100 . В последней строке вводится одно натуральное число k k (1≤k (1≤k . Формат выходных данных Необxодимо вывести измененный массив. Примеры входные данные выходные данные 5 4 5 3 1 2 2 4 2 5 3 1
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Облова Анастасия.
#include <iostream>
#include <random>
#include <ctime>
using namespace std;

mt19937 gen(time(0));
uniform_int_distribution<> uid(0, 19);
void replace(int *a, int n, int k)
{
int last = a[n];
for (int i = n - 1; i >= k; i--) {
a[i + 1] = a[i];
}
a[k] = last;
}

int main()
{
int n = 0, k = 0;
cin >> n;
int *a = new int[n];
if (n <= 100) {
 for (int i = 0; i <= n; i++) {
  a[i] = uid(gen); cout << a[i] << " ";
 }
 cout << endl; cin >> k;
 if (k <= n) {
  replace(a, n, k - 1);
  for (int i = 0; i <= n; i++) {
   cout << a[i] << " "; }
 } else {
  cout << "Error" << endl;
 }
} else {
 cout << "Error!" << endl;
}
delete[] a;
return 0;
}
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос