Witam

Mam taki problem.Mam program który zamienia liczbę z postaci binarnej na dziesiętną.
Potrzebuje wiedzieć co robi każda linia w danym programie :
oto dany program w C++ :

int zamien_na_dziesietna(int tab[], int cyfry)
{
int i, j, k;
int liczba_dziesietna = 0;
for (j=0; j<cyfry; j++)
{
i = 1;
for (k=j+1; k<cyfry; k++)
i = i*2;
liczba_dziesietna = liczba_dziesietna+tab[j]*i;
}
return liczba_dziesietna;
}

{
cout<<"Zamiana liczby z postaci binarnej na postac dziesietna:\n\n";
int binarna[20];
int i, ilosc_cyfr;
cout<<"Z ilu cyfr bedzie sie skladac liczba?: ";
cin>>ilosc_cyfr;
cout<<"Podaj liczbe w postaci binarnej; po kazdej cyfrze nacisnij enter \n";
for (i=0; i<ilosc_cyfr; i++)
cin>>binarna[i];
cout<<"w systemie dziesietnym to: " << zamien_na_dziesietna(binarna,ilosc_cyfr);
cin.ignore();
getchar();
return 0;
}
Jeżeli ktoś jest dobry z tego i mógłby pomóc byłbym wdzięczny :]
[tak jest mi to potrzebne do szkoły na wczoraj ]