Member 14789038 Ответов: 2

Как я могу решить проблему удаления и поиска?


я должен выполнить удаление, так как же я могу удалить определенный элемент векторного списка?

Что я уже пробовал:

#include<iostream>
#include<cstdlib>
#include<vector>

using namespace std;
class StoryBoard
{
private:

string title;
string text;
string tag;
public:

StoryBoard(){}

StoryBoard(string name,string remark,string identifier)

{

title = name;
text = remark;
tag = identifier;

}
void printStory()
{
cout<<"Title : "<<title<<endl;
cout<<"text :="" "<<text<<endl;
cout<<"tag="" "<<tag<<endl<<endl;
}
};
int="" main()
{
int="" position,="" choice;
string="" name,="" key,="" remark,="" identifier;
vector<storyboard="" *=""> vec;
while(1)
{
cout<<"Menu :\n\t1.Add a new note on storyboard.\n\t2.Display all the notes present on the Storyboard.\n\t3.Delete a note.\n\t4.Exit"<<endl;
cout<<"select your="" choice="" and="" please="" enter:="" ";
cin="">>choice;
switch(choice)
{
case 1:
     {                                                          //Adding a new note
cout<<"\n\tEnter the Title of your Note : ";
cin.ignore();
getline(cin, name);
cout<<"\n\tEnter Some Text in Your Note : ";
getline(cin, remark);
cout<<"\n\tEnter any Tag for Your Note : ";
cin>>identifier;
vec.push_back(new StoryBoard(name,remark,identifier));
break;}
case 2:
    {                                                                                                   //Display all notes
int i=0;
cout<<endl<<endl<<"list of="" all="" notes="" :="" "<<endl;
vector<storyboard="" *="">::iterator itr;
StoryBoard *sb;

for(itr=vec.begin();itr!=vec.end();itr++)
{

cout<<"StoryBoard "<<i+1<<" --=""> "<<endl;
sb=*itr;
sb->printStory();
cout<

CPallini

Какой вопрос? Просто реализуйте их.

2 Ответов

Рейтинг:
2

Stefan_Lang

Цитата:
как я могу удалить определенный элемент векторного списка?

Вы можете использовать вектор::erase - ссылка на C++ [^] чтобы удалить элемент из вектора. Обратите внимание, что это делает недействительными все итераторы, ссылающиеся на эту позицию или за ее пределами (которые могут включать your_vector.end (), если вы храните его в переменной).

Все, что вам нужно, - это итератор, ссылающийся на элемент, который вы хотите стереть.


Рейтинг:
1

OriginalGriff

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.
Все, что вы сделали до сих пор, - это разместили свой вопрос о домашнем задании и то, что похоже на то, что вы сдали для последнего упражнения.

Мы нуждаемся в вас, чтобы сделать работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.