Предмет: Информатика, автор: kaedehara

Помогите, пожалуйста, с задачей на с++.
Удаление элемента
Удалите из массива элемент в индексом k. Обратите внимание, считывание и вывод массива уже написаны за вас, необходимо написать только фрагмент программы — само удаление элемента.

Входные данные

В первой строке задано натуральное число n (n≤100) и индекс k (0≤k
Примечание

Для того чтобы удалить из массива A последний элемент необходимо использовать инструкцию pop_back():

A.pop_back();
Размер массива уменьшится на единицу. Данная инструкция выдаст ошибку выполнения, если вызвать её на пустом векторе.

Приложения:

restIess: надо еще?
kaedehara: да, если можно!!
restIess: метод erase() можно использовать?
kaedehara: предполагается, что здесь нужно правильно использовать функцию для вектора, так что не уверена. но попробовать стоит.
restIess: erase это метод для вектора, но тут в задании что-то про еще один метод для удаления написано
kaedehara: извините, не знала, начала изучать язык совсем недавно. вот думаю, что именно этот метод и нужно использовать, наверное.
utochkakryaka: Можно, пожалуйста, увидеть итоговый код? Никак не получается решить(
kaedehara: у меня самой эта задача осталась незаконченной, извините

Ответы

Автор ответа: utochkakryaka
2

Ответ:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   int n, k;

   cin >> n >> k;

   vector <int> A(n);

   for (int i = 0; i < A.size(); i++) {

       cin >> A[i];

   }

   A.erase(A.begin() + k);

   for (int i = 0; i < A.size(); ++i) {

       cout << A[i] << " ";

   }

   cout << endl;

   return 0;

}

Объяснение:

Сам не ожидал найти решение в одну строку, удачи! :)

Интересные вопросы
Предмет: Английский язык, автор: stasy771