Negolove Postado Novembro 15, 2010 Denunciar Share Postado Novembro 15, 2010 (editado) Me ajudem, meu programa não está compilando correto, o que posso fazer para arrumá-lo, desde já agradeçoUma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um programa em C para calcular o número de grãos ou peso que o monge esperava receber. Dica 1: Um grão de trigo pesa aproximadamente 0,00526 gramas.Dica 2: Leiam sobre progressão geométrica. ##include <stdio.h> #include <stdlib.h> #include <math.h> int main(){int soma=0,casas[63],i=1;casas[0]=1;soma+=casas[0];printf("casa %i=%i graos",i,casas[0]); for(i=0;i<=63;i++) { casas=casas[i+1]*2; soma+=casas; printf("casa %i=%i\n graos",i,casas); }printf("\n\n O total de graos é %i",soma);system("PAUSE");return 0;} Editado Novembro 15, 2010 por Negolove Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loco Postado Novembro 16, 2010 Denunciar Share Postado Novembro 16, 2010 Tive que usar long long para alongar o int pois quando chega em 32 o numero alcanca o limite de armazenamento de um int e para de acumular acho que agora esta td oklong long int soma=0; int i; double peso=0; for (i=0;i<=63;i++){ soma+=soma; if(i==1){soma=1;} printf("i => %d = %lli\n",i,soma); } peso=soma*0.00526; printf("O Total de graos \x82: %lli \n", soma); printf("O peso em gramas \x82: %f \n",peso); system("pause");ps fiquei acordado ate agora vendo o bug nesses numeros imensoshahapelo menos aprendi alguma coisa nova xD Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hinata_higan Postado Outubro 26, 2016 Denunciar Share Postado Outubro 26, 2016 (editado) gostaria que me tirasse uma duvida de um detalhe, se o tabuleiro de xadrez contem uma 8 linhas e 8 colunas teria um resultado de 64 lugares q na programação começa do zero e vai ate o 63 então porque o programa começa valendo zero se no caso ele teria q começar valendo 1, alguém poderia me responder ? Editado Outubro 26, 2016 por hinata_higan erro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Outubro 26, 2016 Denunciar Share Postado Outubro 26, 2016 Isso não é regra geral, pois no object pascal por exemplo você define o intervalo do arranjo(array). esse link tem uma teoria. vetores iniciam em 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Negolove
Me ajudem, meu programa não está compilando correto, o que posso fazer para arrumá-lo, desde já agradeço
Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria
qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o
pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro
de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão
e os quadros subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho
barato e pediu que o serviço fosse executado, sem se dar conta de que seria
impossível efetuar o pagamento. Faça um programa em C para calcular o número
de grãos ou peso que o monge esperava receber.
Dica 1: Um grão de trigo pesa aproximadamente 0,00526 gramas.
Dica 2: Leiam sobre progressão geométrica.
##include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int soma=0,casas[63],i=1;
casas[0]=1;
soma+=casas[0];
printf("casa %i=%i graos",i,casas[0]);
for(i=0;i<=63;i++)
{
casas=casas[i+1]*2;
soma+=casas;
printf("casa %i=%i\n graos",i,casas);
}
printf("\n\n O total de graos é %i",soma);
system("PAUSE");
return 0;
}
Editado por NegoloveLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.