#include <iostream.h>
#include <conio.h>
int i,n,j,k,prim,S,nr,min,max,sort,op,tip,aux,nrprim,f,cnt,poz,ies;
long v[50], b[50];
void citire()
{
cout<<"Cate numere
veti introduce?";
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"Nr"<<i<<"=";
cin>>v[i];
}
cout<<endl;
}
void copiere()
{
for(i=1; i<=n; i++)
b[i]=v[i];
}
void afisareA()
{
cout<<"Iata vectorul
A:"<<endl;
for(i=1; i<=n; i++)
cout<<"v["<<i<<"]="<<v[i]<<endl;
cout<<endl;
}
void afispardepeimpar()
{
cnt=0;
cout<<"Numerele pare
de pe pozitii impare sunt:"<<endl;
for(i=1; i<=n; i++)
if(i%2!=0)
if(v[i]%2==0)
{
cout<<"v["<<i<<"]="<<v[i]<<endl;
cnt++;
}
if (cnt==0)
cout<<"
inexistente"<<endl;
}
void afisareprime()
{
cout<<"Numerele prime
din vectorul v sunt:"<<endl;
nrprim=0;
for(i=1; i<=n; i++)
{
prim=1;
for(j=2; j<=v[i]/2; j++)
if(v[i]%j==0)
prim=0;
if(prim==1)
{
cout<<"v["<<i<<"]="<<v[i]<<endl;
nrprim++;
}
}
if(nrprim==0)
cout<<" inexistente"<<endl;
cout<<endl;
}
void sumaprime()
{
S=0;
prim=1;
for(i=1; i<=n; i++)
{
prim=1;
for(j=2;
j<=v[i]/2; j++)
if(v[i]%j==0)
prim=0;
if(prim==1)
S=S+v[i];
}
cout<<"Suma
elementelor prime din vector este:"<<S<<endl;
}
void nrprime()
{
nrprim=0;
prim=1;
for(i=1; i<=n; i++)
{
prim=1;
for(j=2;
j<=v[i]/2; j++)
if(v[i]%j==0)
prim=0;
if(prim==1)
nrprim++;
}
cout<<"Numarul de
numere prime este:"<<nrprim<<endl;
}
void scpsmi()
{
copiere();
for(i=1; i<=n-1; i++)
{
min=b[i];
poz=i;
for(j=i+1;
j<=n; j++)
if(b[j]<min)
{
poz=j;
min=b[j];
}
if(poz!=i)
{
aux=b[i];
b[i]=b[poz];
b[poz]=aux;
}
}
cout<<"Iata vectorul
sortat crescator prin selectarea minimului:"<<endl;
for(i=1; i<=n; i++)
cout<<"v["<<i<<"]="<<b[i]<<endl;
}
void sdpsma()
{
copiere();
for(i=1; i<=n-1; i++)
{
min=b[i];
poz=i;
for(j=i+1;
j<=n; j++)
if(b[j]>min)
{
poz=j;
min=b[j];
}
if(poz!=i)
{
aux=b[i];
b[i]=b[poz];
b[poz]=aux;
}
}
cout<<"Iata vectorul
sortat descrescator prin selectarea maximului:"<<endl;
for(i=1; i<=n; i++)
cout<<"v["<<i<<"]="<<b[i]<<endl;
}
void intersch_cresc()
{
copiere();
do{
sort=1;
for(i=1; i<=n-1;
i++)
if(b[i]>b[i+1])
{
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
sort=0;
}
}
while(sort==0);
cout<<"Iata vectorul
sortat crescator prin interschimbare:"<<endl;
for(i=1; i<=n; i++)
cout<<"v["<<i<<"]="<<b[i]<<endl;
}
void intersch_descresc()
{
copiere();
do{
sort=1;
for(i=1; i<=n-1;
i++)
if(b[i]<b[i+1])
{
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
sort=0;
}
}
while(sort==0);
cout<<"Iata vectorul
sortat descrescator prin interschimbare:"<<endl;
for(i=1; i<=n; i++)
cout<<"v["<<i<<"]="<<b[i]<<endl;
}
void sortare()
{
}
void main()
{
do{
clrscr();
cout<<" Iata meniul:"<<endl;
cout<<" 0.
Iesire"<<endl;
cout<<" 1. Citire vector"<<endl;
cout<<" 2. Afisare vector"<<endl;
cout<<" 3. Afisare numere pare de pe pozitii
impare"<<endl;
cout<<" 4. Suma elementelor prime din
vector"<<endl;
cout<<" 5. Numarul de elemnte
prime"<<endl;
cout<<" 6. Afiseaza numerele prime din
vector"<<endl;
cout<<" 7. Sortare"<<endl;
cout<<" Introduceti
optiunea"<<endl;
// cin>>op;
switch(op)
{
case 1:
citire();
break;
case 2:
afisareA();
break;
case 3:
afispardepeimpar();
break;
case 4:
sumaprime();
break;
case 5:
nrprime();
break;
case 6:
afisareprime();
break;
case 7:
do{
clrscr();
f=1;
cout<<" Alegeti tipul de sortare
dorit:"<<endl;
cout<<" 1. Sortare crescatoare prin selectarea
minimului"<<endl;
cout<<" 2. Sortare descrescatoare prin
selectarea minimului"<<endl;
cout<<" 3. Sortare crescatoare prin
interschimbare minimului"<<endl;
cout<<" 4. Sortare descrescatoare prin
interschimbare minimului"<<endl;
cout<<" 5. Intoarcere in meniul
principal"<<endl;
switch(tip)
{
case
1: scpsmi();
break;
case
2: sdpsma();
break;
case
3: intersch_cresc();
break;
case
4: intersch_descresc();
break;
case
5: f=0;
break;
}
cin>>tip;
}
while(f!=0);
break;
}
cin>>op;
}
while((op>0)&&(op<8));
cout<<"Ati ales sa
parasiti programul...";
}