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