elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  eliminar elementos desordenados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: eliminar elementos desordenados  (Leído 1,336 veces)
pilo312

Desconectado Desconectado

Mensajes: 4


Ver Perfil
eliminar elementos desordenados
« en: 9 Mayo 2016, 17:54 pm »

Mi duda es como hacer que al escribir una palabra como casa lo que salga en pantalla sea cas, osea se eliminen las repeticiones pero quede 1
Código
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7. bool serepite(char , string );
  8. void elimina(char , string& );
  9.  
  10. int main(){
  11.      string frase;
  12.      cout << "frase" << endl;
  13.      getline(cin,frase);
  14.      cin >> clave;
  15.      for(int i=0;i<frase.size();++i ){
  16.    if(serepite(frase[i],frase))
  17.        elimina(frase[i],frase);
  18.   }
  19.   cout<< frase<<endl;
  20.  
  21.  
  22.        return 0;}
  23.  
  24. bool serepite(char b, string cad){
  25.    int contador = 0;
  26.    for(int i =0;i<cad.size();++i)
  27.        if(b==cad[i])
  28.            contador++;
  29.        if (contador>1)
  30.            return true;
  31.        return false;
  32.    }
  33.  
  34. void elimina(char c, string &cad){
  35.    for(int i=0;i<cad.size();++i)
  36.        if(c==cad[i]){
  37.            cad.erase(i,1);
  38.        }
  39.    }
  40.  
  41.  


« Última modificación: 9 Mayo 2016, 18:04 pm por pilo312 » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: eliminar elementos desordenados
« Respuesta #1 en: 9 Mayo 2016, 18:18 pm »

Se me ocurre que tengas un array vacío que sea el que mirarás si existen las letras repetidas o no.
Así, cuándo empieces una palabra con dicho array vacío (ej todo a 0). Miras la primera letra de la palabra. Si no existe en el array de palabras repetidas la incluyes Y apuntas la letra en la palabra destino. Si existe la letra en el array destino simplemente pasas a la siguiente letra de la palabra original y empiezas de nuevo.
Cuándo la palabra original se termine pones el array de letras repetidas a 0 para ser usado en la siguiente palabra.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminar elementos repetidos de un vector
Programación General
GaLaN GaLaNaSo 3000 2 63,054 Último mensaje 16 Noviembre 2011, 06:44 am
por osolmm
(DUDA) Eliminar elementos de una lista
Programación C/C++
pitka 4 13,858 Último mensaje 25 Mayo 2012, 23:15 pm
por pitka
Eliminar elementos ListBox
.NET (C#, VB.NET, ASP)
Lain0x 4 10,217 Último mensaje 8 Noviembre 2012, 00:16 am
por Keyen Night
Eliminar elementos de un vector
Programación C/C++
chihue 1 2,127 Último mensaje 3 Enero 2015, 03:13 am
por rir3760
Recorrer arraylist y eliminar elementos pares
Java
Armonicufer 1 4,022 Último mensaje 10 Noviembre 2016, 21:29 pm
por MayTheLulzBeWithYou
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines