Предмет: Информатика,
автор: kaedehara
Помогите, пожалуйста, с задачей на с++.
Удаление элемента
Удалите из массива элемент в индексом k. Обратите внимание, считывание и вывод массива уже написаны за вас, необходимо написать только фрагмент программы — само удаление элемента.
Входные данные
В первой строке задано натуральное число n (n≤100) и индекс k (0≤k
Примечание
Для того чтобы удалить из массива A последний элемент необходимо использовать инструкцию pop_back():
A.pop_back();
Размер массива уменьшится на единицу. Данная инструкция выдаст ошибку выполнения, если вызвать её на пустом векторе.
Приложения:
restIess:
надо еще?
да, если можно!!
метод erase() можно использовать?
предполагается, что здесь нужно правильно использовать функцию для вектора, так что не уверена. но попробовать стоит.
erase это метод для вектора, но тут в задании что-то про еще один метод для удаления написано
извините, не знала, начала изучать язык совсем недавно. вот думаю, что именно этот метод и нужно использовать, наверное.
Можно, пожалуйста, увидеть итоговый код? Никак не получается решить(
у меня самой эта задача осталась незаконченной, извините
Ответы
Автор ответа:
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;
}
Объяснение:
Сам не ожидал найти решение в одну строку, удачи! :)
Похожие вопросы
Предмет: Немецкий язык,
автор: Astrid134218
Предмет: Русский язык,
автор: aliabdurakhmanov14
Предмет: Русский язык,
автор: kav2001
Предмет: Физика,
автор: chelovechek3klass
Предмет: Қазақ тiлi,
автор: ggeegnbvi