Aktywne Wpisy

Bananada +10
Ja kosmos ( ͡° ͜ʖ ͡° )つ──☆*:・゚
źródło: 659d82baad30164944e6b68bd8c58678
Pobierz
psspspspsp +18
zimno mi to idę spać
Skopiuj link
Skopiuj link
źródło: 659d82baad30164944e6b68bd8c58678
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Mikrobki, dlaczego licznik (counter) nie dziala?
#include "iostream"
int counter;
int A(int n, int m)
{
counter++;
if(n==0)
return m+1;
else
{
if((n>0)&&(m==0))
return A((n-1),1);
else
if((n>0)&&(m>0))
return A(n-1,A(n,m-1));
}
}
int main()
{
int n, m;
counter=0;
std::cin>>n>>m;
std::cout<
return 0;
}
Ponadto napisz sobie
Using namespace std;
Po include. Wtedy możesz usunąć wszystkie std z tekstu. Będzie bardziej przejrzysty.
nie mniej nie zmienia to nic w kwestii licznika wywolan rekurencji
Jestem z telefonu, a tutaj się ciężko jakieś kody ogarnia. Jsk nikt nie pomoze to e domu sprawdzę. ;-)
@erwit:
counter;
counter++; ?
edit: tak tez nie dziala... nie wiem o co chodzi, przeciez ta zmienna jest zadeklarowa
std::cout<
std::cout<<"counter: "<
Kolejność ewaluacji parametrów funkcji jest niezdefiniowana. A przeciążony operator jest funkcją. Nie można powiedzieć, w jakiej kolejności będzie ci się wykonywać ten cały łańcuch „operatorów”
<<
–cout << A() << endl; cout << counter;http://edu.pjwstk.edu.pl/wyklady/pro/scb/PRG2CPP_files/node71.html
to się sprowadza do
cout << ++i << i;counterbył w wielu miejscach zmieniany. A jest tylko w jednym. Z tego wynika, że UB nie zachodzi, ale order of evaluation jest unspecified.
~ n3337 (aka darmowa wersja standardu C++11)