Sunteți pe pagina 1din 5

Probleme

1. Se dau 2 numere întregi. Să se citească de la tastaură în C++, apoi să se afişeze.


D.I. – numere
D.O. – mesaj
#include <iostream>
using namespace std;
int main()
{
int n, m;
cin >>n ;
cin>>m ;
return 0 ;
}
1. Se dă un număr. Să se verifice dacă numărul este par si mai mare decât 1000 şi să se
afişeze un mesaj corespunzător.
D.I. – număr
D.O. – mesaj
#include <iostream>
using namespace std;
int main()
{
int alex;
cin>>alex;
if(alex>1000&&alex%2==0)
cout<<"se indeplineste conditia";
else
cout<<"neindeplinita conditia";
return 0 ;
}

2. Se dau 2 numere întregi. Să se calculeze suma lor si apoi să se verifice dacă suma
obtinută este un număr pozitiv sau negativ.
D.I. : 2 numere întregi
D.O. : mesaj
#include <iostream>
using namespace std;
int main()
{
int a, b, S;
cin >> a >> b;
S = a+b;
cout<<"suma este"<<S;
if (S > 0);
cout << "suma este pozitivă";
if (S < 0);
cout << "suma este negativă";
if (S==0);
cout << "suma este 0";
return 0 ;
}

3. Se dă un număr. Să se afişeze 3 numere după numărul dat şi 3 numere înainte de


numărul dat de pe axa numărului.
D.I. : un număr
D.O. : 3 înainte si 3 după (numere)

#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a ;
cout<<"numerele după sunt:" << a+1 << a+2 << a+3;
cout << a-3 << a-2 << a-1;
return 0 ;
}

4. Se dă un număr întreg. Să se afişeze suma cifrelor numărului dat.


D.I. : un număr
D.E. : suma cifrelor
#include <iostream>
using namespace std;
int main()
{
int a, S=0;
cin>>a;
while (a!=0);
{
S=S+a%10;
a=a/10;
}
cout<<"suma este"<<S;
return 0 ;
}

5. Se dă un număr de 4 cifre. Să se afişeze suma cifrelor.


D.I. : număr
D.O. : suma cifrelor
#include <iostream>
using namespace std;
int main()
{
int a, c1, c2, c3, c4;
cin>>a;
c1=a/1000;
c2=a/100%10;
c3=a/10%10;
c4=a%10;
cout<<"suma este"<<c1+c2+c3+c4;

return 0 ;
}

1. Se dau 2 numere. Care dintre cele 2 numere are suma cifrelor mai mare.
D.I. : 2 numere
D.O. : numărul cu suma cifrelor mai mare

#include <iostream>
using namespace std;
int main()
{
int a,b,S=0, P=0, copie1, copie2;
cin>>a>>b;
copie1 = a;
copie2 = b;
while (a != 0)
{
S=S+a%10 ;
a=a/10;
}
while (b!=0)
{
P = P + b%10;
b = b/10;
}
if (S > P)
cout << "numărul cu suma cifrelor mai mare este:" << copie1;
if (S < P)
cout << "numărul cu suma cifrelor mai mare este:" << copie2;
if (S==P)
cout<<"numărul cu suma cifrelor mai mare este:"<<copie1<<copie2;
return 0 ;
}

2. Se dă un număr. Să se afişeze numărul de cifre pentru numărul introdus.


D.I. : un număr
D.O. : număr cifre
#include <iostream>
using namespace std;
int main()
{
int a, k = 0;
cin >> a;
while (a != 0)
{
a = a/10;
k = k+1;
cout << k;
}
return 0 ;
}

3. Se dă un număr. Să se afişeze prima cifra din număr.


D.I. : un număr
D.O. : prima cifră a numărului
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
while (a > 9)
a = a/9;
cout<<a;
return 0 ;
}

TEMĂ
1. Se dau 2 numere. Să se calculeze suma cifrelor ambelor numere (suma tuturor
cifrelor).
D.I.: 2 numere
D.O.: suma cifrelor ambelor numere
#include <iostream>
using namespace std;
int main()
{
int n,m,c,s;
cin>>n>>m;
s=0; //initializez suma s cu 0
while(n!=0){ //cat timp n are cifre
c=n%10; //aflu in c ultima cifra a lui n
s=s+c; //pun cifra c in suma s
n=n/10; //elimin ultima cifra din n
}
while(m!=0){ //realizez acelasi lucru pentru cifrele lui m
c=m%10;
s=s+c;
m=m/10;
}
cout<<s;
return 0;
}
2. Se dă un număr. Să se calculeze inversul numărului.
D.I. : un număr
D.O. : inversul numărului dat
#include <iostream>
using namespace std;
int main()
{
int n,c,n1;
cin>>n;
n1=0; //voi construi un numar punand cifrele la finalul lui n1
//cifrele se iau de la sfarsitul lui n si se pun la sfarsitul lui n1
//in felul acesta se obtine in n1 - simetricul (inversul,
oglinditul) lui n
while(n!=0) //cat timp n are cifre
{
c=n%10; //c = ultima cifra a lui n
n1=n1*10+c; //pun c la sfarsitul lui n1
n=n/10; //elimin ultima cifra din n
}
cout<<n1;
return 0;
}

3. Se dă un număr. Să se verifice dacă numărul are numărul de cifre pare egal cu


numărul de cifre impare.
D.I. : un număr
D.O. : mesaj
#include <iostream>
using namespace std;
int main()
{
int n,c,nr,c1,c2;
cin>>n;
c1=0; //c1 numara cate cifre pare are n - initial este 0
c2=0; //c2 numara cate cifre impare are n - initial este 0
while(n!=0) //cat timp n are cifre
{
c=n%10; //c = ultima cifra a lui n
if(c%2==0) c1=c1+1; //daca c este par - cresc numarul de cifre
pare (c1) cu o unitate
else c2=c2+1; //altfel cresc numarul de cifre impare (c2) cu o
unitate
n=n/10; //elimin ultima cifra din n
}
if(c1==c2)
cout<<"Numarul cifrelor pare este egal cu numarul cifrelor impare";
else
cout<<"Numarul cifrelor pare este diferit cu numarul cifrelor impare";
return 0;
}

S-ar putea să vă placă și