You are on page 1of 4

1

D I V I D E E T I M P E R A ( I M PA RT E S I S TA PA N E S T E )
1.//suma celor n elemente din vector-int 3.//produsul celor n elemente din vector-int
#include<iostream.h> #include<iostream.h>
int v[20],n; int v[20],n;
int divide(int s,int d) int divide(int s,int d)
// s=stanga, d=dreapta // s=stanga, d=dreapta
{int mij, d1 ,d2; {int mij, d1 ,d2;
//mijlocul m=(s+d)/2, d1 si d2 retin solutiile pt s si dr //mijlocul, d1 si d2 retin solutiile pt s si dr
if(s!=d) {mij=(s+d)/2; if(s!=d) {mij=(s+d)/2;
d1=divide(s, mij); d1=divide(s, mij);
d2=divide(mij+1,d); d2=divide(mij+1,d);
return d1+d2;} return d1*d2; }
else return v[s]; else return v[s];
} }
void main() void main()
{ { cout<<"n="; cin>>n;
cout<<"n="; cin>>n; for(int i=1;i<=n;i++)
for(int i=1; i<=n; i++) {cout<<"v["<<i<<"]="; cin>>v[i];}
{cout<<"v["<<i<<"]="; cin>>v[i];} cout<<"prod celor "<<n<<" elem. din vect "<<divide(1,n); }
cout<<"suma celor "<<n<<" elem. din vect "<<divide(1,n); } -----------------------------------------------------------------------
----------------------------------------------------------------------- 4.//produsul celor n elemente din vector-void
2. //suma celor n elemente din vector-void #include<iostream.h>
#include<iostream.h> int v[20],n, sol;
int v[20],n, sol; void divide(int s,int d, int& sol)
void divide(int s,int d, int& sol) {int m=(s+d)/2, d1 ,d2;
{int m=(s+d)/2, d1 ,d2; if(s!=d) { divide(s,m,d1);
if(s!=d) { divide(s,m,d1); divide(m+1,d,d2);
divide(m+1,d,d2); sol=d1*d2; }
sol=d1+d2;} else sol=v[s];
else sol=v[s]; }
} void main()
void main() { cout<<"n="; cin>>n;
{ cout<<"n="; cin>>n; for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++) {cout<<"v["<<i<<"]="; cin>>v[i];}
{cout<<"v["<<i<<"]="; cin>>v[i];} divide(1,n, sol);
divide(1,n, sol); cout<<"prod="<<sol;
cout<<"suma="<<sol;} }
-------------------------------------------------------------------- -------------------------------------------------------------------
2

5.//suma celor n elem pare din vect-int 9.// maximul elem pare-int
#include<iostream.h> #include<iostream.h>
int v[20],n; int v[20],n;
int divide(int s,int d) int maxi(int s,int d)
{int mij, d1 ,d2; {int m=(s+d)/2, max1, max2;
if(s==d) if (v[s]%2==0) return v[s]; if(s==d) if(v[s]%2==0) return v[s];
else return 0; else return 0;
else
{ mij=(s+d)/2; else { max1=maxi(s,m);
d1=divide(s,mij); max2=maxi(m+1, d);
d2=divide(mij+1,d); if(max1>max2) return max1;
return d1+d2; } else return max2; }
} }
void main() void main()
{ cout<<"n="; cin>>n; { cout<<"n="; cin>>n;
for(int i=1; i<=n; i++) for(int i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];} {cout<<"v["<<i<<"]="; cin>>v[i];}//citire vector
cout<<"suma celor "<<n<<"elem pare"<<divide(1,n);} cout<<"max pare="<<maxi(1,n); } //apel fct
------------------------------------------------------------------- 10.//maximul elem pare-void
6.// suma celor n elem pare din vect-void #include<iostream.h>
#include<iostream.h> int v[20],n, max;
int v[20],n, sol; void maxi (int s,int d, int &max)
void divide(int s,int d, int& sol) {int m=(s+d)/2, max1, max2;
{int m=(s+d)/2, d1 ,d2; if(s==d) if(v[s]%2==0) max= v[s];
if(s==d)if (v[s]%2==0) sol= v[s]; else max=0;
else sol=0; else {maxi(s,m,max1);
else {divide(s,m,d1); maxi(m+1, d, max2);
divide(m+1, d, d2); if(max1>max2) max=max1;
sol=d1+d2; } else max=max2; }
} }
void main() void main()
{ cout<<"n="; cin>>n; { cout<<"n="; cin>>n;
for(int i=1;i<=n;i++) for(int i=1;i<=n;i++)
{cout<<"v["<<i<<"]="; cin>>v[i];} {cout<<"v["<<i<<"]="; cin>>v[i];}
divide(1,n, sol); //apel fct maxi(1,n, max);
cout<<"prod pare="<<sol;//afis raspuns cout<<"max pare="<<max;}
}
7.8//produsul elem pare, de tip int si void
3

10.// nr elemente pare din vect- int 14.// minimul elem pozitive-int
#include<iostream.h> #include<iostream.h>
int v[20],n; int v[20],n;
int numar (int s,int d) int minim (int s,int d)
{int m=(s+d)/2, nr1=0, nr2=0; {int m=(s+d)/2, min1, min2;
if(s==d) if(v[s]%2==0) return 1; if(s==d) if(v[s]>=0) return v[s];
else return 0; else return 0;
else {nr1=numar(s,m); else { min1=minim(s,m);
nr2=numar(m+1, d); min2=minim(m+1, d);
return (nr1+nr2); } if(min1<min2) return min1;
} else return min2; }
void main() }
{ void main()
cout<<"n="; cin>>n; { cout<<"n="; cin>>n;
for(int i=1; i<=n; i++) for(int i=1;i<=n;i++)
{cout<<"v["<<i<<"]="; cin>>v[i];} {cout<<"v["<<i<<"]="; cin>>v[i];}//citire vector
cout<<"nr pare="<<numar(1,n);} cout<<"min pare intre 10 si 60="<<minim(10,60); } //apel fct
11.// nr elemente pare din vect- void 15.// minimul elem pozitive-void
#include<iostream.h> #include<iostream.h>
int v[20],n, sol; int v[20],n,min;
void numar(int s,int d, int&sol) void minim (int s,int d, int & min)
{int m=(s+d)/2, nr1=0, nr2=0; {int m=(s+d)/2, min1, min2;
if(s==d) if(v[s]%2==0) sol=1; if(s==d) if(v[s]>=0) min= v[s];
else sol=0; else min=0;
else {numar(s,m, nr1); else { minim(s,m, min1);
numar(m+1, d, nr2); minim(m+1, d, min2);
sol=nr1+nr2; } if(min1<min2) min=min1;
} else min=min2;
void main() }
{ cout<<"n="; cin>>n; }
for(int i=1; i<=n; i++) void main()
{cout<<"v["<<i<<"]="; cin>>v[i];} { cout<<"n="; cin>>n;
numar(1,n,sol); for(int i=1;i<=n;i++)
cout<<"nr elem pare="<<sol; {cout<<"v["<<i<<"]="; cin>>v[i];}//citire vector
--------------------------------------------------------------------------------- minim(10,60, min);
12.//numere pare din intervalul [10, 55]- int cout<<"val min="<<min; }
13.//numere pare din intervalul [10,55]- void
4

16.//verifica daca sunt si (||) nr pare- int 18.// verifica daca toate sunt (&&) nr pare- int
#include<iostream.h> #include<iostream.h>
int v[20], n; int v[20], n;
int verifica (int s,int d) int verifica (int s,int d)
{int m=(s+d)/2, ver1, ver2; {int m=(s+d)/2, ver1, ver2;
if(s==d) if(v[s]%2==0) return 1; if(s==d) if(v[s]%2==0) return 1;
else return 0; else return 0;
else {ver1=verifica(s,m); else {ver1=verifica(s,m);
ver2=verifica(m+1, d); ver2=verifica(m+1, d);
if (ver1 || ver2) return 1; if (ver1 && ver2) return 1;
else return 0;} else return 0;}
} }
void main() void main()
{ cout<<"n="; cin>>n; {
for(int i=1;i<=n;i++) cout<<"n="; cin>>n;
{cout<<"v["<<i<<"]="; cin>>v[i];} for(int i=1;i<=n;i++)
cout<<”sunt si elemente pare=”<<verifica(1,n);// apel functie de tip int {cout<<"v["<<i<<"]="; cin>>v[i];}
o b s . - o p e r a t o r u l s a u | | . cout<<"sunt numai elem pare in vector="<<verifica(1,n);}
o b s . - o p e r a t o r u l s i & & .
17.// verifica daca sunt si nr pare- void 19.// verifica daca toate sunt (&&) nr pare- void
#include<iostream.h> #include<iostream.h>
int v[20],n, sol; int v[20],n, sol;
void verifica(int s,int d, int & sol) void verifica(int s,int d, int & sol)
{int m=(s+d)/2, ver1, ver2; {int m=(s+d)/2, ver1, ver2;
if(s==d) if(v[s]%2==0) sol=1; if(s==d) if(v[s]%2==0) sol=1;
else sol=0; else sol=0;
else { verifica(s,m, ver1); else { verifica(s,m, ver1);
verifica(m+1, d, ver2); verifica(m+1, d, ver2);
if (ver1 || ver2) sol= 1; if (ver1 && ver2) sol= 1;
else sol=0; } else sol=0; }
} }
void main() void main()
{ { cout<<"n="; cin>>n;
cout<<"n="; cin>>n; for(int i=1; i<=n; i++)
for(int i=1; i<=n; i++) {cout<<"v["<<i<<"]="; cin>>v[i];}
{cout<<"v["<<i<<"]="; cin>>v[i];} verifica(1,n, sol);
verifica(1,n, sol); //apel functie de tip void cout<<"sunt numai elem pare in vector="<<sol ;}
cout<<"sunt si elem pare="<<sol ;}

You might also like