• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Populationenrechner- problem

ApF3LsAfT

Hobby-Spieler/in
Registriert
22.04.2004
Beiträge
881
Reaktionspunkte
1
Hi,

ich steh grad voll aufn Schlauch. <- C++
Ich will nämlich schreiben, dass sich eine Population mit 50 Einwohnern mit einer Jahresrate von 6% vermehren. Maximale Einwohnerzahl ist 350. Es sollen die Jahre mit Einwohnerzahl ausgegeben werden, die vergangen sind.
Ich habs schon versucht, aber es funzt nicht.


Wenn ihr mir helfen könnt eine Lösung zu finden, wäre ich euch sehr dankbar. Also nicht eure Lösungen posten, sondern mir nur Tipps geben. :top:


euer Apf3l
 
hi,
ich hab zwar nich viel ahnung von C++ aber mach es in einer while schleife
du setzt 2 variablen, eine für die bewohnerzahl (=50) und die andere für die anzahl der jahre (= 0)

während die anzahl der bewohner <= 350 ist, soll er die bewohnerzahl mit 1,06 (=6%) multiplizieren und die jahre um 1 erhöhen
die bewohnerzahl rundest du dann noch, da es keine halben menschen gibt *g

am schluss gibst du es halt aus

so sollte es doch gehen


jahre = 0;
während(einwohnerzahl < 350)
{
einwohnerzahl = einwohnerzahl * 1,06; // die zahl müsstest du noch (auf)runden, da es keine halben menschen gibt ;)
jahre++;
}

ausgabe(jahre);
 
liegt das problem in dem programmcode für C++ oder darin, dass du nicht genau weißt, welche formel du nehmen kannst, also wie man das ganz überhapt berechnet? die formel lautet:

bestand nach jahr n = anfangswert * (1 + wachstumsrate)^n

also 50 * (1,06)^n
 
Mardyr am 06.01.2005 17:14 schrieb:
hi,
ich hab zwar nich viel ahnung von C++ aber mach es in einer while schleife
du setzt 2 variablen, eine für die bewohnerzahl (=50) und die andere für die anzahl der jahre (= 0)

während die anzahl der bewohner <= 350 ist, soll er die bewohnerzahl mit 1,06 (=6%) multiplizieren und die jahre um 1 erhöhen
die bewohnerzahl rundest du dann noch, da es keine halben menschen gibt *g

am schluss gibst du es halt aus

so sollte es doch gehen


jahre = 0;
während(einwohnerzahl < 350)
{
einwohnerzahl = einwohnerzahl * 1,06; // die zahl müsstest du noch (auf)runden, da es keine halben menschen gibt ;)
jahre++;
}

ausgabe(jahre);

ah ok. und wie geht das, dass sich die Population mit einer Jahresrate von 6% der Differenz zwischen Höchsteinwohnerzahl und aktueller Einwohnerzahl vermehr


@Herbboy: also die Formel kenne ich, aber mein Problem beim Programmieren ist, dass es mir sehr schwer fällt anzufangen zu programmmieren. Deshalb hab ich mir gedacht, in den Ferien setzt du dich mal hin und tust was dagegen...^^
 
Musses C++ sein? kann auch ne andre sprache dafür verwendet werden???
c??
delphi oder pascal???
 
ok hab mich mal damit befasst:



// Programm zur berechnug der Populationsgröße

#include <iostream.h> // header file für input/output stream
#include <stdlib.h> // header file für standard input/output
int main( )
{
int jahre;
float wachstumsrate , population;
jahre = 0;
population = 50;
wachstumsrate = 1.06;

while(population < 550)
{
population = population * wachstumsrate;
cout << "Bisher vergangene Jahre:"
cout << jahre;
cout << "Bisherige Populationsgröße:"
printf(population%i);
}

return 0;


}



ich programmier normalerweiße kein c++
sry für evtl bugs
bin mir an der stelle mit dem pintf noch nicht sicher, musst mal schauen wie du ne zahl als integer ausgibst.
du kannst zwischen dem } der while schleife und dem return 0; noch ne tolle message reinschreiben, als abschluss!

mfg

selci
 
a sorry hatte vegessen die jahre zu zählen, hier die neue version:

Selcuc am 15.03.2005 10:53 schrieb:
ok hab mich mal damit befasst:



// Programm zur berechnug der Populationsgröße

#include <iostream.h> // header file für input/output stream
#include <stdlib.h> // header file für standard input/output
int main( )
{
int jahre;
float wachstumsrate , population;
jahre = 0;
population = 50;
wachstumsrate = 1.06;

while(population < 550)
{
population = population * wachstumsrate;
jahre = jahre + 1;
cout << "Bisher vergangene Jahre:"
cout << jahre;
cout << "Bisherige Populationsgröße:"
printf(population%i);
}

return 0;


}



ich programmier normalerweiße kein c++
sry für evtl bugs
bin mir an der stelle mit dem pintf noch nicht sicher, musst mal schauen wie du ne zahl als integer ausgibst.
du kannst zwischen dem } der while schleife und dem return 0; noch ne tolle message reinschreiben, als abschluss!

mfg

selci
 
Selcuc am 15.03.2005 10:56 schrieb:
a sorry hatte vegessen die jahre zu zählen, hier die neue version:

Selcuc am 15.03.2005 10:53 schrieb:
ok hab mich mal damit befasst:



// Programm zur berechnug der Populationsgröße

#include <iostream.h> // header file für input/output stream
#include <stdlib.h> // header file für standard input/output
int main( )
{
int jahre;
float wachstumsrate , population;
jahre = 0;
population = 50;
wachstumsrate = 1.06;

while(population < 550)
{
population = population * wachstumsrate;
jahre = jahre + 1;
cout << "Bisher vergangene Jahre:"
cout << jahre;
cout << "Bisherige Populationsgröße:"
printf(population%i);
}

return 0;


}



ich programmier normalerweiße kein c++
sry für evtl bugs
bin mir an der stelle mit dem pintf noch nicht sicher, musst mal schauen wie du ne zahl als integer ausgibst.
du kannst zwischen dem } der while schleife und dem return 0; noch ne tolle message reinschreiben, als abschluss!

mfg

selci
Das Printf sollte so gehen: printf("%d", population); //(oder gehört vor population noch & ?)
oder mit cout: cout<<int(population)<<endl;//dadurch spart man sich stdlib.h
 
Zurück