Interesuje mnie funkcja która wyodrębnia cyfry danej liczby tak abym mógł na każdej z poszczególnych cyfr pracować w innych funkcjach.
Chodzi mi dokładnie o program w którym podam liczbę np 12345 a następnie za pomocą funkcji wyodrębnię każdą z tych cyfr.
Następnie stworzę dwie kolejne funkcje w których jedna będzie odpowiadać za określenie czy dana cyfra jest parzysta, a druga funkcja będzie wypisywać kwadrat tej cyfry.
Ostateczny wynik programu ma wyglądać tak:
1 - nieparzysta, kwadrat = 1
2 - parzysta, kwadrat = 4
3 - nieparzysta, kwadrat = 9
itd...
Załączam funkcje w której rozbijam liczbę a następnie sprawdzam parzystość.
Niestety wykładowca uważa to za złą metodę z czym w sumie się zgadzam, ale nie mam pomysłu jak zrobić to inaczej.
Z góry dziękuję za pomoc.
char* czyParzysta(int x)
{
int cyfra;
int coZostanie;
int odwrotna = 0;
while(x != 0)
{
coZostanie = x % 10;
odwrotna = odwrotna * 10 + coZostanie;
x /= 10;
}
while(odwrotna != 0)
{
cyfra = odwrotna%10;
odwrotna /= 10;
if (cyfra % 2 == 0)
{
printf("%d - parzysta \n", cyfra);
}
else
{
printf("%d - nieparzysta \n", cyfra);
}
}
return 0;
}