suzy Posted January 25, 2007 at 02:08 PM Report #78497 Posted January 25, 2007 at 02:08 PM 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; }
Rui Carlos Posted January 25, 2007 at 02:11 PM Report #78500 Posted January 25, 2007 at 02:11 PM 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. Rui Carlos Gonçalves
shumy Posted January 25, 2007 at 02:22 PM Report #78504 Posted January 25, 2007 at 02:22 PM E como sabes se str[0] não é um espaço? Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
suzy Posted January 25, 2007 at 02:28 PM Author Report #78507 Posted January 25, 2007 at 02:28 PM 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 ? tenho de fazer outro ciclo??'
Rui Carlos Posted January 25, 2007 at 02:31 PM Report #78508 Posted January 25, 2007 at 02:31 PM 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. Rui Carlos Gonçalves
suzy Posted January 25, 2007 at 02:42 PM Author Report #78510 Posted January 25, 2007 at 02:42 PM 😉 int funcao(char str[] ) { int i,total; str[i]==tolower(str[i]); // PARA CONVERTER PARA MAIUSCULAS NAO SEI SE FAÇO ISTO AQUI ? for(i=0;str[i]!= '\0' && str[i]!= '_'; i++) { if(str[0] == str[i]) total=total+1; } return total;
Rui Carlos Posted January 25, 2007 at 03:02 PM Report #78515 Posted January 25, 2007 at 03:02 PM 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). Rui Carlos Gonçalves
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now