Sunteți pe pagina 1din 2

///Prelucrari elementare pe vectori

///Tablou unidimensional=vector
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int a[100],b[100], n, i;///declarare
///1. Citirea vectorului de la tastatura
cout<<"n=";
cin>>n;///var simpla
for(i=0;i<n;i++)
{
cout<<"a["<<i+1<<"]=";
cin>>a[i];
}
///2. Afisare vectorului pe ecran
for(i=0;i<n;i++)
cout<<a[i]<<' ';
///3. Copierea unui vector intr-un vector nou
///b=a;eroare
for(i=0;i<n;i++)
b[i]=a[i];
cout<<endl;
for(i=0;i<n;i++)
cout<<b[i]<<' ';
///4. Elementul maxim si minim din vectorul a
int vmin, vmax;
vmax=vmin=a[0];
for(i=1;i<n;i++)
{
if(a[i]<vmin)
vmin=a[i];
if(a[i]>vmax)
vmax=a[i];
}
cout<<endl<<"Minimul="<<vmin<<endl;
cout<<"Maximul="<<vmax<<endl;
///5. Inversarea elementelor unui vector
for(i=0;i<n/2;i++)
{
int aux=a[i];
a[i]=a[n-i-1];
a[n-i-1]=aux;
}
cout<<"Vectorul inversat:"<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
///6. Media aritmetica a elementelor strict pozitive din //vectorul a
float s=0;
int nr=0;
for(i=0;i<n;i++)
if(a[i]>0){
s+=a[i];
nr++;
}
if(nr>0)
cout<<"Media aritmetica a elem strict poz="<<s/nr<<endl;
else
cout<<"Nu exista elem strict poz"<<endl;
///7. Verificarea unei proprietati a elementelor vectorului
///7.1. Sa se verifice daca toate elem vectorului sunt pare
///pentru rezultat folosim o var ok=1, pp ca toate elem sunt pare
///P(x) = 1, daca x este par
/// 0, altfel
int ok=1;
for(i=0; i<n && ok==1;i++)
///if(!P(a[i])) ok=0;
///!(a[i]%2==0)
if(a[i]%2!=0) ok=0;
if(ok==1)
cout<<"Toate valorile din vector sunt pare"<<endl;
else
cout<<"Nu toate val din vector sunt pare"<<endl;
///7.2. Sa se verifice daca exista un elem in vector cu o anumita proprietate
///Sa se verifice daca in vector exista cel putin un numar prim
int gasit=0, rez;
for(i=0;i<n && !gasit; i++)
{
int d=2;
int r=sqrt(a[i]);
if(a[i]<2)
gasit=0;
while(d<=r && a[i]%d!=0)
d++;
if(d>r) {
gasit=1;
rez=a[i];
}
}
if(gasit==1)
cout<<"Avem cel putin un numar prim="<<rez<<endl;
else
cout<<"Nu avem numere prime in vector"<<endl;
///8. Cautarea unui element dat intr-un vector - cautare secventiala
///8.1. fara ok
int x;
cout<<"x=";cin>>x;
i=0;
while(i<n && a[i]!=x)
i++;
if(i<n)
cout<<"Elem exista in vector"<<endl;
else
cout<<"Elem nu exista in vector"<<endl;
///8.2 cu ok1
int ok1=0;
for(i=0;i<n && !ok1;i++)
if(a[i]==x)
ok1=1;
if(ok1==1)
cout<<"Elem exista in vector"<<endl;
else
cout<<"Elem nu exista in vector"<<endl;
return 0;
}

S-ar putea să vă placă și