Cześć Wam
Pracuje nad programem który wyszukuje w ciągu liczb całkowitych pierwszego elementu którego suma cyfr o wartościach parzystych jest mniejsza od iloczynu cyfr o wartościach nieparzystych. Przekazuję wypełniona przez użytkownika tablice do funkcji void funkcja_szukaj w której kolejno rozbijam liczbę na cyfry i sumuję bądź mnożę jej cyfry, jednak cyfry nie wliczają mi się do sumy, ani do iloczynu. Poniżej zamieszczam fragment kodu odpowiedzialnego za odnalezienie szukanej liczby. Liczę na wskazówki w jaki sposób mogę poprawić instrukcje if lub umieścić druga pętle for.
void funkcja_szukaj(int tablica[], int LiczbaElementow)
{
int jednosci, dziesiatki, setki, tysiace, d_tysiecy;
int a, b, c, d, e; // cyfry parzyste
int na, nb, nc, nd, ne; // cyfry nieparzyste
int suma, iloczyn;
do
for (int i=0; i<=LiczbaElementow; i++)
{
jednosci = tablica[i]%10;
dziesiatki = tablica[i]/10%10;
setki = tablica[i]/100%10;
tysiace = tablica[i]/1000%10;
d_tysiecy = tablica[i]/10000%10;
// cout <<d_tysiecy<<" "<<tysiace<<" "<<setki<<" "<<dziesiatki<<" "<<jednosci << endl;
//linijka wyzej dodana tylko po to aby sprawdzic czy rozbija liczbe na cyfry
if (jednosci%2==0)
jednosci = a;
else
jednosci = na;
if (dziesiatki%2==0)
dziesiatki = b;
else
dziesiatki = nb;
if (setki%2==0)
setki = c;
else
setki = nc;
if (tysiace%2==0)
tysiace = d;
else
tysiace = nd;
if (d_tysiecy%2==0)
d_tysiecy = e;
else
d_tysiecy = ne;
suma = a+b+c+d+e;
iloczyn = na*nb*nc*nd*ne;
}
while (suma > iloczyn);
cout <<"pierwsza liczba spelniajaca kryteria to: "<< tablica[i] << endl;
}