Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

I.

#include<iostream>
using namespace std;
int n,v[9999];
int minim (int v[],int n)
{
if(n==0)
return 32768;
else
if(v[n]%2==0)
if(v[n]<minim(v,n-1))
return v[n];
else
return minim(v,n-1);
else
return minim (v,n-1);
}
void cifpar (int a[], int x, int &k)
{
if(x)
{
if(((a[x]/10)%10)%2==0&&a[x]>9)
k++;
cifpar(a,x-1,k);
}
}
int ordonat (int a[], int x)
{
if(x)
{
for(int i=1;i<=n;i++)
if(a[x]<a[x-1])
return 0;
ordonat(a,x-1);
}
}
void cifre (int a[], int x)
{
int k=0,y;
if(y)
{
k=0;
y=a[x];
while(y!=0)
{
k++;
y/=10;
}
if(k%2==0)
cout<<a[x]<<" ";
cifre(a,x-1);
}
}
int paritate (int a[], int x)
{
if(x>1)
{
if((a[x]%2==0&&a[x-1]%2!=0)||(a[x]%2!=0&&a[x-1]%2==0))
return 0;

paritate(a,x-1);
}
}
void afis(int x, int a[])
{
int u,y;
if(x)
{
afis(x-1,a);
y=a[x]; u=a[x]%10;
while(y>9) y=y/10;
if(u==y)
cout<<a[x]<<" ";
}
}
void inloc (int a[], int x, int minn)
{
if(x)
{
if(a[x]>9)
a[x]=minn;
inloc(a,x-1,minn);
}
}
int main()
{
int k=0;
cout<<"n: "; cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
cout<<"\nMinimul dintre elementele pare ale vectorului: "<<minim(v,n)<<endl;
cout<<"\nNumarul de elementele care au cifra zecilor para: "; cifpar(v,n,k);
cout<<k<<endl;
if(ordonat(v,n))
cout<<"\nVectorul este orodonat crescator";
else
cout<<"\nVectorul NU este orodonat crescator";
cout<<endl;
cout<<"\nElementele care au numar par de cifre: "; cifre(v,n); cout<<endl;
if(paritate(v,n))
cout<<"\nToate elementele vectorului au aceeasi paritate";
else
cout<<"\nElementele vectorului NU au aceeasi paritate";
cout<<endl;
cout<<"\nElementele care au prima cifra egala cu ultima: "; afis(n,v); cout<
<endl;
int minn=minim(v,n); inloc(v,n,minn);
cout<<"\nElementele vectorului in urma inlocuirii cu minimul par: ";
for(int i=1;i<=n;i++)
cout<<v[i]<<" ";
}

II.
#include<iostream>
#include<math.h>

using namespace std;


int n,a[100][100];
void suma (int n, int a[100][100], int &s)
{
int x,o=0;
if(n)
{
x=a[0][n-1];
while(x!=0)
{
o=o*10+x%10;
x/=10;
}
if(o%2==0)
s=s+a[0][n-1];
suma(n-1,a,s);
}
}
void prim (int i, int j, int a[100][100], int &k)
{
int ok=1,d;
if(i<n)
if(j<n)
{
ok=1;
for(d=2;d<=sqrt(a[i][j]);d++)
if(a[i][j]%d==0)
ok=0;
if(ok&&a[i][j]>1)
k++;
prim(i,j+1,a,k);
}
else prim(i+1,0,a,k);
}
void palindrom (int n, int a[100][100])
{
int x,o=0;
if(n)
{
palindrom(n-1,a);
x=a[n-1][n-1];
while(x)
{
o=o*10+x%10;
x/=10;
}
if(o==a[n-1][n-1])
cout<<a[n-1][n-1]<<" ";
}
}
int main()
{
int s=0,k=0;
cout<<"n: "; cin>>n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cin>>a[i][j];
cout<<endl;
}

for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
suma(n,a,s); cout<<"\nSuma elementelor de pe prima linie al caror invers est
e par: "<<s<<endl;
prim(0,0,a,k); cout<<"\nNumarul de elemente prime: "<<k;
cout<<"\nElementele prime de pe diagonala principala: "; palindrom(n,a);
}

You might also like