Se dă un vector cu n elemente numere întregi. Să se transforme vectorul, aplicând următoarea regulă: dacă 2 elemente alăturate sunt egale, unul din acestea se elimină. Să se afişeze toate transformările vectorului.
#include<iostream>
using namespace std;
void citire(int a[], int &n)
{int i;
cout<<"Dati citire lungii vectorului"<<endl;
cin>>n;
cout<<"Dati citire elementelor vectorului"<<endl;
for(i=0;i<n;i++)
cin>>a[i];
}
void afisare(int a[], int n)
{int i;
cout<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
}
void stergere(int a[], int &n,int poz)
{int i;
for(i=poz;i<n-1;i++)
a[i]=a[i+1];
n=n-1;
}
void cautare_duble(int a[],int n,int &poz)
{
int i;
poz=-1;
for(i=0;i<n-1;i++)
if(a[i]==a[i+1])
{poz=i;
break;}
}
int main()
{
int n,a[100],poz;
citire(a,n);
cautare_duble(a,n,poz);
while(poz!=-1)
{
cautare_duble(a,n,poz);
if(poz!=-1)
{
stergere(a,n,poz);
afisare(a,n);
cout<<endl;
}
}
}