Witam!
Jestem bardzo poczatkujacy i nie rozumiem pewnej kwestii w kodzie.
P. Miroslaw w odc. 3 C++ podal za przyklad mnozenie sie bakterii.
Kod u mnie jak najbardziej dziala jednak po kilku dniach nauki wrocilem do tego odcinka i postanowilem poeksperymentowac.
Wkleje kod oryginalny oraz pod nim kod zmodyfikowany.
#include <iostream>
using namespace std;
int populacja=1; int godzin=0;
int main()
{
while(populacja<=1000000000)
{
godzin++;
populacja = populacja *2;
cout<<"Minelo godzin: "<<godzin;
cout<<" liczba bakterii: "<<populacja<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
int populacja=1; int godzin=0;
int main()
{
while(populacja<=1000000000)
{
int a, b;
a=godzin++;
b=populacja *=2;
cout<<"Minelo godzin: "<<a;
cout<<" liczba bakterii: "<<b<<endl;
}
return 0;
}
W moim kodzie dodalem sobie dwie zmienne "a" i "b" do ktorych odnosze sie w coutach. Program nadal dziala jednak w kodzie oryginalnym ilosc godzin po osiagnieciu 1000000000 bakterii wynosi 30 a w moim kodzie 29.
W oryginale pierwszy cout daje w konsoli wartosc 1 dla godzin oraz wartosc 2 dla populacji. Czyli OK.
W moim kodzie cout zaczyna od godzin 0 populacja 2 a potem petla wykonuje sie tak jak powinna jednak z bledem. populacja sie zgadza, godziny nie.
Zapisalem rowniez godzin+++1 - zadzialalo.
Oraz godzin=godzin+1 - rowniez dziala.
Skoro godzin=godzin+1 to to samo co godzin++ to dlaczego w drugim rodzaju zapisu nie dziala?
Pozdrawiam,
Fathis