Witam,
Mam takie zadanie:
Losuje tablicę 20 elementową z liczbami z zakresu 50-99
Zlicza elementy tablicy, których suma cyfr osiąga podaną wartość
I mam taki kod:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int sum_cyfr(int tab[],int liczba);
int main()
{
int tab[20],i,liczba;
srand(time(NULL));
for(i=0;i<20;i++)
{
tab[i]=rand()%50+50;
cout<<tab[i]<<" ";
}
cout<<endl;
cout<<"Podaj Liczbe: ";
cin>>liczba;
cout<<"Podana sume cyfr zlicza tyle elemntow tablicy: "<<sum_cyfr(tab,liczba)<<endl;
return 0;
}
int sum_cyfr(int tab[],int liczba)
{
int i,wynik=0;
for(i=0;i<20;i++)
do
{
wynik=wynik+liczba%10;
liczba=liczba/10;
}
while(liczba!=0);
return wynik;
}
Problem jest taki, że nie zlicza poprawnie elementów tablicy, których suma cyfr osiąga podaną wartość
Przykładowo:
Podaj liczbę 10, czyli elementy tablicy,ktory się składa na to to liczba np. 82, 91 itd.
I nie wyświetla tej liczby poprawnie.
Co muszę zmienić w kodzie?