Informatică, întrebare adresată de surppal, 8 ani în urmă

Se citesc a și b numere naturale nenule, reprezentând capetele unui interval deschis (a≠b). Se citesc apoi n numere naturale cu cel mult 8 cifre. Să se afișeze și să se numere câte dintre acestea au suma cifrelor în intervalul respectiv. Dacă nu există astfel de numere se afișează mesajul “NU EXISTĂ”.
Exemplu: pentru a=5, b=15, n=5 dacă se citesc numerele 32 1000 308 1234 99 se va afișa 2.

Răspunsuri la întrebare

Răspuns de ProTel
1

Răspuns:

#include <iostream>

using namespace std;

int SumCif(int n){ //functie care calculeaza suma cifrelor pentru numarul n

int sc;

sc=0;//initial suma cifrelor este 0

while (n>0){

sc=sc+n%10;

n=n/10;

}

return sc;

}

int main() {

  int a,b;//capetele intervalului

  int n,x,sc,i,j;//x este numarul de numere cu suma cifrelor >a si <b

  int numar;

  cout<<"Introduceti a si b :";

  cin>>a>>b;

 

  cout<<"introduceti numarul n :";

  cin>>n;

 

  x=0;

  for (i=0;i<n;i++)

    {

   cout<<"Citeste numar:";

   cin>>numar;

   sc=SumCif(numar);

   for(j=a+1;j<b;j++)

  if (sc==j)  x=x+1;    

    }

   

if (x>0)

 cout<<"Numere gasite :"<<x;

 else cout<<"Nu exista!";

}


surppal: Multumesc!
Alte întrebări interesante