Documente Academic
Documente Profesional
Documente Cultură
/**
Fie a un vector cu n elemente numere intregi ordonate crescator.
Sa se elimine "dublurile" din vector.
Exemplu: 5 7 7 7 8 10 10 15 20 30 30 30 45
=> 5 7 8 10 15 20 30 45
5 7 8 10 15 20 30 45
*/
using namespace std;
void eliminareDubluri( int a[], int &n)
{
int i;
for( i= 1; i<n; i++)
if(a[i]==a[i-1])
{for( int j=i+1; j<n; j++)
a[j-1]=a[j];
n--;
i--;
}
}
void eliminareDubluriOptim( int a[], int &n)
{
int k=0, i;
for (i=1; i<n; i++)
if(a[i]!=a[k])
{
k++;
a[k]=a[i];
}
n=k+1;
}
/**
Fie a un vector cu n elemente numere intregi nu neaparat ordonate.
Sa se elimine dublurile.
Exemplu: 7 5 3 7 3 7 7 5 6
=>7 5 3 6
*/
int exista( int a[], int n, int x) ///1- daca exista x in pe
primele npozitii, 0 - in caz contrar
{
for( int i=0; i<n; i++)
if(a[i]==x) return 1;
return 0;
if(!exista(a,k+1,a[i]))
{
k++;
a[k]=a[i];
}
n=k+1;
int x[100];
int n;
cout<<"n=";cin>>n;
cout<<"x=";
citire(x,n);
///eliminareDubluri(x, n);
/// eliminareDubluriOptim(x,n);
eliminareDubluriVectorNeordonat(x,n);
afisare(x, n);