• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

acham que ta correcto?

7 mensagens neste tópico

Desenvlover uma funcão que receba por argumenta uma string e devolva o numero de vezes que o caracter inicial (o primeiro caracter da frase que nao seja um espaço em branco surge ao longo da frase. O programa nao deve distinguir entre letras maiusculas e minusculas)

int funcao(char str[] )
    {
    int i,total;
   
    for(i=0;str[i]!= '\o'; i++)
         {
            if(str[0] == str[i])
            total=total+1;
         }

     return total;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

parece que tens aí um \o quando devias ter um \0, não estás a verificar se o caracter inicial é um espaço e estás a distinguir as maiúsculas das minúsculas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites











int funcao(char str[] )
    {
    int i,total;
   
    for(i=0;str[i]!= '\o' && str[i]!= '_'; i++)
         {
            if(str[0] == str[i])
            total=total+1;
         }

     return total;
}/code]


têm razão. agora o meu problema é como distingo maiusculas de minusculas  :hmm: tenho de fazer outro ciclo??'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vais sair do cilco quando te aparecer o caracter '_' e não me parece que seja isso que pretendes.

continuas com \o em vez de \0.

para não distinguir maiúsculas de minúsculas podes converter os caracteres para minúsculas antes de comparares.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
;)













int funcao(char str[] )
    {
    int i,total;
    str[i]==tolower(str[i]); // PARA CONVERTER PARA MAIUSCULAS NAO SEI SE FAÇO ISTO AQUI :hmm:
   
    for(i=0;str[i]!= '\0' && str[i]!= '_'; i++)
         { 
            
            if(str[0] == str[i])
            total=total+1;
         }

     return total;








0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não sei se testas-te isso, mas obviamente não está a funcionar.

para começar não estás a inicializar a variável 'total'.

depois não sei para que é o "str[ i ]!='_'".

sugeria-te que fizesse dois ciclos: um para encontrar o primeiro caracter diferente do espaço e outro para efectivamente contar o caracteres.

o 'tolower' é para ser usado dentro do 'if' (quando fazes a comparação dos caracteres).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora