Ir ao conteúdo
  • Cadastre-se
Mauro Del Gaudio

problema com string

Recommended Posts

bom dia!

estou com problema neste exercicio

 

Fazer uma função que receba uma string e retire
da primeira string todas as letras que
ocorrem na segunda string. Exemplo: Sejam as strings "chocolate" e "oca", então a
primeira string ficará "hlte".

 

fiz esse codigo

    #include<iostream>
    #include<string>
    using namespace std;
    string retira(string palavra1,string palavra2);
    int main()
    {
            string palavra1,palavra2;
            getline(cin,palavra1);
            getline(cin,palavra2);
            cout<<retira(palavra1,palavra2)<<endl;
            return 0;
    }
    string retira(string palavra1,string palavra2)
    {
            int i,j,n,m;
            n=palavra1.size();
            m=palavra2.size();
            for(i=0;i<n;i++)
            {
                    for(j=0;j<m;j++)
                    {
                            if(palavra1==palavra2[j])
                                    for(int k=i; k<n;k++){
                                            palavra1[k]=palavra1[k+1];
                                    }
                    }
            }
            return palavra1;
    }

 

quando digito "chocolate" e "oca" imrpimi "holte", e nao era pra imprimir a letra "o".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com ponteiros fica fácil resolver.

Fiz uma pequena alteração no código que postei no outro tópico.

    char palavra[] = "chocolate";        char tira[] = "oca", *p = palavra, *t = tira;     while(*t){        char *tmp = p;        while(*p){            if(*p == *t){                char *tmp = p;                while(*p++ = *(p + 1));                               p = --tmp;            }                      p++;                    }        p = tmp;    t++;    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×