Sunteți pe pagina 1din 8

tema 20.10.

2022
#include <iostream>

using namespace std;

//1. Funcție care întoarce primele două cifre. Citiți un vector și afișați toate numerele de două cifre
din vector.

int prim2(int x) {

int s;

s=x;

while(s>=99)

s=s/10;

return s;

int main()

int n, v[1000], i;

cin>>n;

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

cin>>v[i];

if(prim2(v[i])==v[i] && v[i]>9)

cout<<v[i]<<" ";

return 0;

}
#include <iostream>

using namespace std;

//2. Funcție care întoarce suma cifrelor unui întreg. Citiți un întreg și afișați cifra de control (adunăm
cifrele până obținem un număr de o cifră. Ex: 773453479, adunăm cifrele și obținem 49, apoi
obținem 13, apoi 4).

int suma(int x) {

int s=0;

while(x>9) {

s=0;

while (x>0) {

s=s+x%10;

x=x/10;

x=s;

return x;

int main()

int n;

cin>>n;

cout<<suma(n);

return 0;

}
#include <iostream>

using namespace std;

//3. Funcție care întoarce numărul de cifre a unui număr. Încă o funcție care întoarce numărul de
cifre pare a unui număr. Citiți un vector de n întregi și afișați suma elementelor care au numai cifre
pare. (Se vor folosi cele 2 funcții!)

int nrc(int x) {

int nrc=0, s;

s=x;

while(s!=0) {

nrc++;

s=s/10;

return nrc;

int nrp(int x) {

int nrp=0, s;

s=x;

while(s!=0) {

if(s%2==0)

nrp++;

s=s/10;

return nrp;

int main()

int n, v[1000], i, s=0;


cin>>n;

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

cin>>v[i];

if(nrc(v[i])==nrp(v[i]))

s=s+v[i];

cout<<s;

return 0;

#include <iostream>

using namespace std;

//4. Funcție care întoarce numărul de divizori ai unui întreg. În main, citiți un vector și afișați
numerele pătrate perfecte cu ajutorul funcției.

int nrdiv(int x) {

int div, nrdiv;

for(div=1;div<=x;div++) {

if(x%div==0)

nrdiv++;

return nrdiv;

int main()

int n, v[1000], i;

cin>>n;
for(i=0;i<n;i++) {

cin>>v[i];

if(nrdiv(v[i])%2!=0)

cout<<v[i]<<" ";

return 0;

#include <iostream>

using namespace std;

//5. Funcție care întoarce 1 dacă un număr este putere a lui 2 și 0 contrar. Citiți doi întregi a și b, cu
a<b . Afișați puterile lui 2 din mulțimea a…b.

int putere(int x) {

int s;

s=x;

while(s%2==0)

s=s/2;

if(s==1)

return 1;

else

return 0;

int main()

int a, b, i;

cin>>a>>b;
for(i=a;i<=b;i++) {

if(putere(i)==1)

cout<<i<<" ";

return 0;

#include <iostream>

using namespace std;

//6. Funcție care întoarce suma divizorilor. Citiți o matrice n*n și afișați toate numerele perfecte de
pe dp.

int suma(int x) {

int s=0, div;

for(div=1;div<x;div++) {

if(x%div==0)

s=s+div;

return s;

int main()

int n, a[101][101], i, j;

cin>>n;

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

for(j=1;j<=n;j++) {

cin>>a[i][j];
if(suma(a[i][j])==a[i][j] && i==j)

cout<<a[i][j];

return 0;

#include <iostream>

using namespace std;

//7. Funcție care primește un întreg și o cifră. Ea întoarce de câte ori apare cifra în număr. Citiți un
vector de n întregi și afișați toate elementele care au aceeași cifră în componență.

int cifra(int x, int y) {

while(x!=0) {

if(x%10==y)

return 1;

x=x/10;

int main()

int n, v[1000], i, y;

cin>>n>>y;

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

cin>>v[i];

if(cifra(v[i], y)==1)

cout<<v[i]<<" ";
}

return 0;

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