Witajcie.
Wpadłem na pomysł stworzenia prostego programu który ma na celu symulowanie wzrostu populacji komórek.
Oto kod:
Kod:
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    int pier_gen;        /*pierwsza generacja*/
    int ost_gen;         /*do ktorej gen symulujemy*/
    float czerwona_wsp;     /*wspolczynnik wzrostu kom czerwonej*/
    float niebieska_wsp;   /*wspolczynnik wzrostu kom niebieskiej*/
    int czerwona=1;        /*ilosc kom czerwonych 1-gen*/
    int niebieska=2;       /*ilosc kom niebieskich 1-gen*/
    /*int nowaczerwona;
    int nowaniebieska;*/       
    cout<<"Podaj ilosc symulacji: ";
    cin >>ost_gen;   
    for (pier_gen=0; pier_gen < ost_gen; pier_gen+=1)
        {
                     czerwona_wsp=0.2;
                     niebieska_wsp=0.196;
                     czerwona=czerwona+(czerwona*czerwona_wsp);
                     niebieska=niebieska+(niebieska*niebieska_wsp);
                     
        
                     cout<<"Czerwonych Komorek: "<< czerwona << endl;
                     cout<<"-----------------------------------------"<<endl;
                     cout<<"Niebieskich Komorek: "<< niebieska << endl;
                     cout<<"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"<<endl;
                     
        }
    system("PAUSE");
    return EXIT_SUCCESS;
}
Trudno to jeszcze nazwac symulatorem bo choćby współczynnik wzrostu komórek jest stały(narazie), ale problem tkwi w zliczaniu nowych komórek.
W pętli są współczynniki wzrostu później mnożę pierwotna ilość komórek przez współczynnik wzrostu czyli:
Kod:
czerwona=czerwona+(czerwona*czerwona_wsp)
Przy kolejnej symulacji czerwona powinna wynosić 1.2, a raczej 1 bo z float na int.
Nawet po setnej symulacji wynik nadal wynosi 1 dla czerwonej i 2 dla niebieskiej.
Moje pytanie co jest nie tak?
Mam dodac nową zmienna by liczyła mi komórki czy jeszcze jedną zagnieżdżoną pętlę do zliczania nowych komórek