You are on page 1of 6

Sa se numere elementele pare dintr-un vector #include<iostream> using namespace std ; int v[10],n; void divide(int s,int d,int

&m) {m=(s+d)/2;} void combina(int x1,int x2,int &z) {z=x1+x2} void dei(int s,int d,int&z); {int x1;x2;m; If(d==s) If(v[s]%2==0);z=1; else z=0; {divide(s,d,m); dei(s,m,x1) dei(m+1,d,x2); combina(x1,x2,z);}} int main() {int z,i; cout<<n=; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); cout<<z; return0 ;}

Sa se calculeze valoare maxima din elementele unui vector #include<iostream> using namespace std ; int v[10],n; void divide(int s,int d,int &m) {m=(s+d)/2;} void combina(int x1,int x2,int &z) {if(x1<x2) z=x1; else z=x2; void dei(int s,int d,int&z); {int x1;x2;m; If(d==s) z=v[s] else {divide(s,d,m); dei(s,m,x1) dei(m+1,d,x2);combina(x1,x2,z);}} int main() {int z,i; cout<<n=; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); cout<<z; return0 ;}

Sa se calculeze valoare minima din elementele unui vector #include<iostream> using namespace std ; int v[10],n; void divide(int s,int d,int &m) {m=(s+d)/2;} void combina(int x1,int x2,int &z) {if(x1>x2) z=x1; else z=x2; void dei(int s,int d,int&z); {int x1;x2;m; If(d==s) z=v[s] else {divide(s,d,m); dei(s,m,x1) dei(m+1,d,x2);combina(x1,x2,z);}} int main() {int z,i; cout<<n=; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); cout<<z; return0 ;}

Sa se gaseasca c.m.m.d.c-ul dintr-un vector #include<iostream> using namespace std ; int v[10],n; void divide(int s,int d,int &m) {m=(s+d)/2;} void combina(int x1,int x2,int &z) {while(y=x2); if(x1>x2); x1=x1-x2; else x2=x2-x1 z=x1} {z=x1+x2} void dei(int s,int d,int&z); {int x1;x2;m; if(d==s); z=v[s]; else If(v[s]==y); else z=0; {divide(s,d,m); dei(s,m,x1) dei(m+1,d,x2);combina(x1,x2,z);}} int main() {int z,i,y; cout<<n=; cin>>n; for(i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); cout<<C.m.m.d.c<<z; cout<<z; return0 ;}

Suma nr. Impare dintr-un vector : #include <iostream> int v[100],n; using namespace std; void divide(int s,int d,int &m) { m=(s+d)/2; } void combina(int x,int y,int &z) { z=x+y; } void dei(int s,int d,int &z) { int m,x1,x2; if(s==d) if(v[s]%2==1) z=v[s]; else z=0; else { divide(s,d,m); dei(s,m,x1); dei(m+1,d,x2); combina(x1,x2,z); } } int main() { int z; cin>>n; for(int i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); cout<<z; return 0; }

Numarul elementelor impare dintr-un vector #include<iostream> using namespace std; int v[10],n; void divide(int s , int d , int &m) {m=(s+d)/2;} void combina(int x1 , int x2 , int &z) {z=x1+x2} void dei(int s , int d , int &z) {int x1,x2,m; if(d==s) if(v[s]%2!=0) z=1 else z=0; else {divide(s,d,m); dei(s,m,x1); dei(m+1,d,x2); combina (x1,x2,z);}} int main() {int z,I; cout<<n=; cin>>n; for (i=1;i<=n;i++) cin>>v[i]; dei(1,n,z); return 0;}

1)Funcia F are definiia alturat. Ce valoare are F(3)? int F(int n) {if(n == 0 || n == 1) return 1; else return 2*F(n-1)+2*F(n-2);} a. 1 b. 12 c. 6 d. 10 Program: #include < iostream.h > int n; int F(int n) {if(n == 0 || n == 1) return 1; else return 2*F(n-1)+2*F(n-2); } int main() {cout << "n="; cin >> n; cout << F(n); }

2)Subprogramul f are definiia alturat. Ce se va afia n urma apelului f(12345);? void f(long n) {if (n > 9) {cout << n/100; f(n/10); } } a. 1231210 b. 123121 c. 1234123121 d. 123

Program: #include < iostream.h > long n; void f(long n) {if (n > 9) {cout << n/100; f(n/10); } } int main() {cout << "n="; cin >> n; f(n); } Argumentare:Cat timp numarul n este mai mare decat 9 se vor afisa cifrele numarului de la capat pana la penultimul,dupa care se va relua functia ,numarului tainduse ultima cifra.

Argumentare:Se verifica daca un nr n este egal cu 0 sau 1, daca da, se returneaza 1 altfel se rezolva operatiile 2*F(n-1)+2*F(n-2). In cazul de mai sus 3 este mai mare decat 1 asa ca s-a trecut direct la operatii.

3)Funcia f are definiia alturat. Ce se va afia n urma apelului f(12345,0);? void f(long n, int i) {if (i < n %10) {cout << n%10; f(n/10,i+1); } } a. 54321 b. 543 c. 54 d. 5432

4)Funcia F are definiia alturat. Ce valoare are F(18)? int F(int x) { if (x < =1) return x; else return x+F(x-2); } a. 90 b. 171 c. 91 d. 18 Program:

Program: #include < iostream.h > long n,i; void f(long n, int i) {if (i < n%10) {cout << n%10; f(n/10,i+1); } } int main() {cout << "n="; cin >> n; cout << "i="; cin >> i; f(n,i); } Argumentare:Se dau un nr si un contor.Contorul este 0.Cat timp contorul este mai mic decat restul impartirii numarului la 10 se va afisa restul numarului dupa care i creste cu 1,iar numarului i se scade ultima cifra.

#include < iostream.h > int x; int F(int x) { if (x < =1) return x; else return x+F(x-2); } int main() {cout << "x="; cin >> x; cout << F(x);}

Argumentare: F(18)=F(16)+18 F(16)=F(14)+16 F(14)=F(12)+14 F(12)=F(10)+12 F(10)=F(8)+10 F(8)=F(6)+8 F(6)=F(4)+6 F(4)=F(2)+4 F(2)=F(0)+2 F(0)=0

5)Funcia F are definiia alturat. Ce valoare are F(5)? int F(int x) {if(x != 0) return x+F(x-1); else return x; } a. 5 b. 10 c. 15 d. 6

Rezolvare: #include < iostream.h > int x; int F(int x) {if(x != 0) return x+F(x-1); else return x; } int main() {cout << "x="; cin >> x; cout << F(x); } Argumentare: F(5)=F(4)+5 F(4)=F(3)+4 F(3)=F(2)+3 F(2)=F(1)+2 F(1)=F(0)+1 F(0)=0

You might also like