Programação em C

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Programação em C

Mensagempor Darkblood » Quinta Jul 31, 2008 1:46

É um exercício muito simples mesmo. Só que não estou a perceber onde estou a falhar...

Desenvolva um programa que leia uma frase introduzida pelo utilizador e verifique quantas vezes a primeira palavra se repete. O programa não deve distinguir entre letras maiúsculas e minúsculas.
Exemplo: ter ou nao ter
O programa deverá escrever: A palavra ter repete-se duas vezes.

Tenho o seguinte código:

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


int main()
{
int i=0;
char f[50],p[10], temp[50];

printf("Introduza uma frase\n");
gets(f);

for(i=0; f[i]!=' ';i++)
{
f[i]=p[i];
printf("%c", p[i]);
}

system("pause");
}

O programa está incompleto, o resto acho que sei fazer, só estou preso naquele ciclo for. Quando faço esta atribuição: f[i]=p[i] , "p" deveria ficar com a letra correspondente de "f", mas quando tento imprimir "p" só me sai lixo...
Imagem
Darkblood
Membro de Ouro
Membro de Ouro
 
Mensagens: 830
Registado: Quinta Mar 02, 2006 22:35
Localização: Coimbra

Mensagempor vamosAeles » Quinta Jul 31, 2008 9:48

Boas,

acho q queres é fazer p[i] = f[i] em vez de f[i] = p[i] :roll:
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor Darkblood » Quinta Jul 31, 2008 13:43

vamosAeles Escreveu:Boas,

acho q queres é fazer p[i] = f[i] em vez de f[i] = p[i] :roll:


É isso mesmo, tão simples. :lol:
Obrigado.

Mas não percebo qual é a diferença para o que eu tinha anteriormente. :?
Imagem
Darkblood
Membro de Ouro
Membro de Ouro
 
Mensagens: 830
Registado: Quinta Mar 02, 2006 22:35
Localização: Coimbra

Mensagempor Ryujin » Quinta Jul 31, 2008 14:25

C não funciona como a algebra matematica. Quando fazes A = B apenas A é modificado ficando com o mesmo valor de B. B permanece inalterado.
And now.. Something completely diferent.
Ryujin
Membro de Prata
Membro de Prata
 
Mensagens: 144
Registado: Domingo Dez 18, 2005 21:57

Mensagempor bvmzinho » Sexta Ago 01, 2008 14:15

Ryujin Escreveu:C não funciona como a algebra matematica. Quando fazes A = B apenas A é modificado ficando com o mesmo valor de B. B permanece inalterado.


exactamente!

e o facto de só te estar a sair lixo, antes da correcção, era devido ao facto de não limpares a variável p, quando a declaraste...

como disse o Ryujin e muito bem, em C (e na maior parte das linguagens) a atribuição é feita da direita para a esquerda e não no sentido contrário.

cumps
MacBook Pro 2.2GHz
bvmzinho
Membro de Prata
Membro de Prata
 
Mensagens: 362
Registado: Sábado Jan 15, 2005 17:25

Mensagempor Darkblood » Sexta Ago 01, 2008 16:59

Ok, obrigado pessoal.
Imagem
Darkblood
Membro de Ouro
Membro de Ouro
 
Mensagens: 830
Registado: Quinta Mar 02, 2006 22:35
Localização: Coimbra


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 5 visitantes

cron