Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Strings Caracteres Vetores


Barao
 Share

Question

Ola pessoal, alguém me ajude estou tentando criar um vetor de caracteres e depois uma string, e em seguida comparar se neste vetor contem os mesmos caracteres da string e cada caractere que tiver me retornar um valor inteiro.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
//LINGUAGEM C
#include <stdio.h>
int main (int argc, char** argv)
{
char letras [ ] = "abcde";
char LETRAS [ ] = "ABCDE";
char recebe_string;
printf("Entre com a String: ");
scanf("%s", recebe_string);
/*AQUI EU GOSTARIA DE VERIFICAR A OCORRENCIA DE CARACTERE POR CARACTERE
DA VARIAVEL recebe_string NAS DUAS VARIAVEIS letras e LETRAS retornar um valor
para esta ocorrencia.
Exemplo: Se a String digitada fo AbC
gostaria que retornasse 1 se tiver 'a' em letra ou LETRA, retorne 2 se tiver 'b'
em letra ou LETRA, retorne 3 se tiver 'C' em letra ou LETRA.
*/
return 0;
}
Edited by Barao
Link to comment
Share on other sites

  • 0
//LINGUAGEM C
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

void flush_in() {
    int ch;
    
    while ( ( ch = fgetc ( stdin ) ) != EOF && ch != '\n' ) {}
}

int main ( int argc, char **argv ) {

    int i = 0;
    char letras [ ] = "abcde";
    int tam = sizeof(letras)/sizeof(letras[0]);
    char* entrada = (char*) calloc( tam, sizeof(letras[0]) );
    

    printf ( "Entre com a String: " );
    fgets ( entrada , tam, stdin);
    flush_in(); //chamar esa funçao antes de ler chars e strings. é a melhor forma de limpar o buffer que existe.
    
    for ( i = 0; i<tam-1; i++  ){
        if ( tolower(entrada[i]) == tolower(letras[i]) ){
            printf("%d\n", i+1);
        }else{
            printf("%d\n", 0);
        }
    }

    free(entrada);
    return 0;
}

Para esse programa não importa si é maiúscula ou minuscula assim você evita ter letra e LETRA, tudo é automático, si envés de char letras [ ] = "abcde"; você por char letras [ ] = "abcdefghij"; o programa só vai aceitar a mesma quantidade de letras, e o loop que as compara vai ficar configurado automaticamente para se executar a mesma quantidade de vezes.

:ninja:

Sorte!

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.1k
    • Total Posts
      647.1k
×
×
  • Create New...