Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Rodrigo Gouveia

RESOLVIDO Projeção populacional em C

Recommended Posts

Estou criando um programa em C como parte de um projeto da faculdade e preciso usar uma projeção populacional...
Até agora o que tenho tentado programar não tem me retornado nenhum valor.

 

#include <stdio.h>int vu, x;float nh, tx;float pops[100];main(){	printf("vida util.\n");	scanf("%i", &vu);	printf("numero de habitantes.\n");	scanf("%f", &nh);	printf("taxa de crescimento.\n");	scanf("%f", &tx);			for (x=0; x == vu; x++){		pops[0]=nh;	}	for(x = 1; x == vu; x++){		pops[x] = pops[x--] + (pops[x--] * (tx / 100));		scanf("%f", &pops[x]);		}		    for (x = 0; x == vu; x++){    	printf("valores de população:\n %d", pops[x]);	}}

 

Basicamente para os valores do vetor ele tem que usar os valores do vetor anterior. E o vetor inicial é o inserido como numero de habitantes.
Se alguém puder me dizer em que parte está errado.

Estou usando Dev C++ para programar e ele tem compilado sem problemas, então não consigo achar o que posso ter feito errado.

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi direito sua dúvida, mas olhando seu código percebo que essa parte não faz muito sentido:
 

	for (x=0; x == vu; x++){		pops[0]=nh;     <--- Isso daki não seria   "  pops[X]=nh;  "?	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, isso vai ser parte de um programa muito maior sobre aterros sanitários.
Toda a parte de dimensionamento eu já programei, deu 138 linhas de código.

Mas o problema tem sido essa parte de projeção populacional, e ela deve funcionar da seguinte forma:
Usando a vida útil pretendida pro aterro, a população atual e a taxa de crescimento populacional ele vai calcular a projeção de habitantes para a vida util do aterro:
A lógica matemática da coisa é:

 

Numero de habitantesx = Numero de habitantesx-1 + [Numero de habitantesX-1 * (taxa de crescimento / 100)]

 

E para poder começar o calculo, preciso que o programa entenda que vetor[0] é o NH.

E preciso que ele guarde os valores (Assim que compreender o que fiz de errado e ele funcionar vou usar o vetor em outros calculos).

Mas sempre que executo, ele me retorna 0...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem vários erros, olha a correção e compara:

 

#include <stdio.h>int vu, x;float nh, tx;float pops[100];main() {    printf("vida util.\n");    scanf("%d", &vu);    printf("numero de habitantes.\n");    scanf("%f", &nh);    printf("taxa de crescimento.\n");    scanf("%f", &tx);    for (x=0; x < vu; x++)        pops[x]=nh;    for(x = 1; x < vu; x++)        pops[x] = pops[x-1] + (pops[x-1] * (tx / 100.0));    for (x = 0; x < vu; x++)        printf("\nvalores de população: %.1f", pops[x]);    system("pause");}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora funcionou e vi onde errei.

Obrigado.
Vou tentar encaixar isso no restante do código.
Te agradeço muito por isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×