0% found this document useful (0 votes)
54 views6 pages

Sa Se Numere Elementele Pare Dintr-Un Vector Sa Se Calculeze Valoare Maxima Din Elementele Unui Vector

The document contains code snippets for solving various problems involving vectors using divide and conquer algorithms. Specifically, it contains solutions for: 1. Counting the even elements in a vector 2. Finding the maximum value in a vector 3. Finding the minimum value in a vector 4. Finding the greatest common divisor (GCD) of elements in a vector 5. Finding the sum of odd numbers in a vector 6. Counting the number of odd elements in a vector

Uploaded by

CMS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views6 pages

Sa Se Numere Elementele Pare Dintr-Un Vector Sa Se Calculeze Valoare Maxima Din Elementele Unui Vector

The document contains code snippets for solving various problems involving vectors using divide and conquer algorithms. Specifically, it contains solutions for: 1. Counting the even elements in a vector 2. Finding the maximum value in a vector 3. Finding the minimum value in a vector 4. Finding the greatest common divisor (GCD) of elements in a vector 5. Finding the sum of odd numbers in a vector 6. Counting the number of odd elements in a vector

Uploaded by

CMS
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 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