Cześć, od niedawna próbuje swoich sił w C++, aktualnie rozwiązuje jakieś bazowe zagadnienia z serwisu HackerRank. Utknąłem w jednym miejscu, gdzie w żaden sposób nie mogę dojść co robię nie tak w pętli. Co aktualnie próbuję zrobić to rozbić liczbę podaną jako INT na poszczególne cyfry. Robiąc "na piechotę" obliczenia dla tej samej liczby którą wrzucam w pętle (1234) wychodzą mi dwa różne wyniki:
int main(){
int a, b, c, d, e, f;
cout << "Podaj liczbe: ";
cin >> a;
b = (int)log10(a)+1; // określa nam liczbę cyfr w podanej liczbie;
int tab[b];
for (int i=0; i<b; i++)
{
g=a/(10^i); //próbowałem również tab[i]=(a/(10^i))%10) oraz innych zabaw z nawiasami
tab[i]=g%10;
}
for(int i=0; i<b; i++)
{
cout<<tab[i]<<" ";
}
cout << "na gorze błędne wartości, na dole poprawne" << endl;
c=a%10;
d= a/10%10;
e = a/100%10;
f = a/1000%10;
cout << c << " ";
cout << d << " ";
cout << e << " ";
cout << f << " ";
}