В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
BEDmil00
BEDmil00
28.05.2022 10:20 •  Информатика

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

Показать ответ
Ответ:
ksenia5051
ksenia5051
06.10.2020 20:45
#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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота