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

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

Показать ответ
Ответ:
Yuki16
Yuki16
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-бота