Jump to content
Fórum Script Brasil
  • 0

Ajuda com exercicicio de vetorers em C


rjrjuliano
 Share

Question

A partir de uma frase contendo no máximo 100 caracteres inserida via teclado (incluindo brancos), escrever um algoritmo e

implementá-lo em linguagem C para:

Verificar e mostrar quais são os caracteres que se repetem na frase, quantas vezes os mesmos aparecem, quais são eles e as suas posições relativas;

Não consigo fazer para mostrar quantas vezes os caracteres repetem, e a posição

int main() {
    char frase[100];
    int i;
    printf ("Insira uma frase com no maximo 100 caracteres:\n");
    gets (frase);
    for (i=0; i<=99; i++) {

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá!

Para fazer essa busca você precisa, para cada posição dá frase, varrê-la novamente buscando o caracter repetido.

Isso quer dizer que, dentro do for, você precisa de outro for.

for(i=0; i<=99; i++) {
    soma=0;
     for(j=0; j<=99; j++) { 
        if(frase[i] == frase[j]) {
            if(i<j) break; // não permite repetir
            else if(i>j) soma++; // não soma a própria posição
        }
    }
    if(soma>0) {
        printf("caracter %c repete %e vezes\n", frase[i], soma);
    }
}

Uma observação: o loop deveria terminar quando encontrasse o caracter nulo (valor zero). Só não faço para não entregar a resposta inteira mas deixo a dica... :P

Abraços,

Marcelo Utikawa da Fonseca

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...