Guião laboratorial n.º 1 – exercício 9

Desenvolva uma função que verifique se existem 3 caracteres consecutivos iguais numa frase. A função recebe como argumento um ponteiro para o início da frase (deve assumir que no final existe um ‘\0’). Deve devolver 1 se existirem 3 caracteres consecutivos iguais, ou 0 no caso contrário. A sua declaração é a seguinte:
int tres_consecutivos(char *frase);


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define TAM 10

int tres_consecutivos(char *frase){
int totalc=0,valor=0;
char *p, *q, *e;
p=frase;
q=frase+1;
e=frase+2;

totalc=strlen(frase);
for( ; e<frase+totalc; p++, q++, e++){

    if(*p==*q && *q==*e){
        valor=1;
    }
}

return valor;
}
int main()
{
char frase_completa[]="Qualquer coisaaa assim assada!";
int valor=0;
valor=tres_consecutivos(frase_completa);

if(valor==1){
printf("\nExistem 3 caracteres consecutivos iguais na frase");
}else{
  printf("\nNao existem 3 caracteres consecutivos iguais na frase");
}

return 0;
}

Tags :