Menú principal

jueves, 3 de septiembre de 2020

Elimina palabras repetidas de vector - C++

Al igual que se hizo en la entrada anterior con números enteros, pop_back y back también funcionan para cadenas de caracteres como string. Además se implantará en una función llamada elimina_repetidos que no devolverá nada ya que modificará directamente el vector original. A continuación se muestra la solución:

 1 #include <iostream>
 2  #include <vector>
 3  using namespace std;
 4  void elimina_repetidos(vector<string>&);
 5  
 6  int main()
 7  {
 8      vector<string> v{"Maria", "juan", "Alvaro", "Maria", "juan", "Pedro", "Maria"};
 9      for(auto x:v)
10          cout << x << "  ";
11      cout << endl;
12  
13      elimina_repetidos(v);
14      for(auto x:v)
15          cout << x << "  ";
16      cout << endl;
17  }
18  
19  void elimina_repetidos(vector<string>& v)
20  {
21      for(size_t j=0; j<v.size(); j++)
22          for(size_t i=j+1; i<v.size(); i++)
23              if(v.at(i)==v.at(j))
24              {
25                  v.at(i)=v.back();
26                  v.pop_back();
27                  i--;
28              }
29  }

No hay comentarios:

Publicar un comentario