#include <iostream> #include <windows.h> using namespace std; int n; void convert_dec_to_bin(int n) { if(n==0) return; convert_dec_to_bin(n/2); cout<<n%2; } int main() { while(true) { system("cls"); cin>>n; if(n==0) cout<<0; else convert_dec_to_bin(n); cout<<endl; system("pause"); } return 0; }
Witam , mam problem z pełnym zrozumieniem jak działania ten algorytm , rozumiem ogólnie na czym to polega i jak on przebiega . Ale nurtuje mnie pytanie skąd komputer (program) wie że przy powrocie rekurencji ma wykonywać się linijka obliczająca modulo (resztę z dzielenia - n%2) a nie od nowa wykonywać funkcję : convert_dec_to_bin(n);
Wiem że moje pytanie może wydawać się nie jasne ): Dziękuje za wszelkie odpowiedzi i proszę o wyrozumiałość, jestem początkujący i to moje pierwsze pytanie na forum (: (: