Ir ao conteúdo
  • Cadastre-se

problema com string


Mauro Del Gaudio

Posts recomendados

bom dia!

estou com problema nesse exercicio

 

Fazer uma função que receba duas strings e verifique o número de ocorrências da
segunda string na primeira. Exemplo: Se a primeira string digitada for
"abracadabra" e a segunda "bra", então o número de ocorrências é 2.

 

#include<iostream>
#include<string>
using namespace std;
void troca(string palavra1,string npalavra,string palavra2);
int main()
{
        
        string palavra1,palavra2,npalavra;
        int i,j=0,cont=0;
        getline(cin,palavra1);
        getline(cin,palavra2);
        for(i=0;palavra1!='\0';i++)
        {
            for(j=0;palavra2[j]!='\0';j++)
            {
                if(palavra1==palavra2[j] && palavra1[i+1]==palavra2[j+1] && palavra1[i+2]==palavra2[j+2])
                    cont++;
                    j++;
            }
        }
        cout<<cont;
        return 0;
}

 

mas esse codigo esta contando errado, e nao sei como conserta-lo

quando digito "abracadabra" e "bra", imprimi "3" e nao "2".

Link para o comentário
Compartilhar em outros sites

Em C você pode usar a função strstr,

Como essa função retorna o ponteiro para a primeira ocorrência, você pode incrementar o ponteiro em um loop até retornar null.

    char palavra[] = "abracadabra";    char proc[] = "abra", *p = palavra;    int i = 0;    while(p = strstr(p, proc)){        i++;        p++;    }    printf("%d\n", i);
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...