Sunteți pe pagina 1din 4

STRUCTURI DE CONTROL 1. Se citete un numr natural n. S se determine cifra maxim din numr, folosind un subprogram.

Dac n=7934 , atunci cifra maxim este 9. #include<iostream.h> #include<stdlib.h> int a[100],n,k; void citire() { cout<<"nr de elemente n=";cin >>n; for(int i=1;i<=n;i++) {cout<<"a["<<i<<"]=";cin >>a[i]; } cout<<"k=";cin>>k; if(k<1||k>n) {cout<<"stergerea nu se poate efectua";exit(0);} } void afisare() { for(int i=1;i<=n;i++) cout<<a[i]<<" "; cout<<endl; } void sterge(int k) { for(int i=k;i<n;i++) a[i]=a[i+1]; n--; } void main() { citire(); sterge(k); afisare(); } 2. Se introduce de la tastatur un numr ntreg n. Se cere s se calculeze i s se afieze: a) media aritmetic a cifrelor pare; b) produsul cifrelor impare #include<iostream.h> long unsigned int n; void medie(long unsigned int n) { int u; int c=0,s=0; while(n!=0) { u=n%10; n=n/10; if(u%2==0){c++;s=s+u;} } cout<<"media aritmetica a cifrelor pare="<<(float)s/c<<endl; } void produs(long unsigned int n)

Exemplu:

{ int p=1,u; while(n!=0) { u=n%10; n=n/10; if(u%2==1)p=p*u; } cout<<"produsul cifrelor impare="<<p<<endl; } void main() { cout<<"n=";cin>>n; medie(n); produs(n); } 3. Se citete de la tastatur un numr ntreg mai mare sau egal cu 1000. Se cere s se stabileasc dac numrul dat este palindrom sau nu, folosind un subprogram. #include<iostream.h> #include<stdlib.h> long unsigned int n; void palindrom() { int u; long unsigned int x=n,m=0; while(n!=0) { u=n%10; n=n/10; m=m*10+u; } if(m==x) cout<<"palindrom\n"; else cout<<"nu e palindrom"; } void main() { cout<<"n=";cin>>n; if(n<1000){cout<<"numarul trebuie sa fie >=1000\n";exit(0);} palindrom(); } 4. Se citete de la tastatur un numr ntreg. Se cere s se stabileasc dac este perfect sau nu, folosind un subprogram. Un numr este perfect dac este egal cu suma divizorilor si proprii plus 1. #include<iostream.h> #include<stdlib.h> int n; void perfect() { int s=0; for(int i=1;i<=n/2;i++) if(n%i==0)s=s+i; if(s==n) cout<<"numar perfect\n"; else cout<<"numarul nu e perfect\n";

} void main() { cout<<"n=";cin>>n; perfect(); } 5. Se citete de la tastatur un numr ntreg . Se cere s se calculeze i s se afieze suma divizorilor proprii precum i numrul acestora. #include<iostream.h> #include<stdlib.h> long unsigned int n; void divizori() { int s=0; int c=0; for(int i=2;i<=n/2;i++) if(n%i==0){s=s+i;c++;} cout<<"suma divizorilor proprii="<<s<<"nr de div proprii="<<c; } void main() { cout<<"n=";cin>>n; divizori(); } 6. Se citete de la tastatur un numr natural nenul n. Se cere s se calculeze i s se afieze urmtoarea sum : 1+1*2+1*2*3+1*2*3*4+...+1*2*...n . #include<iostream.h> int n; void suma() {float s=0,p=1; for(int i=1;i<=n;i++) {p=p*i; s=s+p;} cout<<"s="<<s<<endl; } void main() { cout<<"n=";cin>>n; suma(); } 7. Se citete de la tastatur un numr natural nenul n. Se cere s se calculeze i s se afieze urmtoarea sum : 1+1/(1*2)+1/(1*2*3)+...+1/(1*2*3*...*n). #include<iostream.h> int n; void suma() {float s=0,p=1; for(int i=1;i<=n;i++) {p=p*i; s=s+1/p;} cout<<"s="<<s<<endl; }

void main() { cout<<"n=";cin>>n; suma(); }