C++ eliminare doppioni in un array monodimensionale

p4ngm4n
sto impazzendo nel cercare di scrivere un programma ke dato un vettore da tastiera mi elimini da questo eventuali valori presenti + di una volta. come posso fare?

Risposte
Malcolm1
Ma lo fai man mano che l'utente inserisce (cioè se un valore è già presente non lo aggiungi) o alla fine, quando hai tutto l'array?

p4ngm4n
alla fine... dopo aver inserito l'array completo

codino75
una soluzione semplice eforse non ottimizzata e' quella di ordinare il vettore...

Splair
#include <iostream>
using namespace std;
      int main(){
          int const N=100;
          int a[N], b[2*N];
          int n;
          cout<<"Quanti elementi vuoi inserire?"<<endl;
          cin>>n;
          int i;
          for(i=0;i<n;i++){//creo l'array da tastiera
                           cout<<"Inserisci l'elemento di posizione "<<i+1<<endl;
                           cin>>a[i];
                 }
          int j,chiave;
           for(i=1;i<n;i++){  //Ordino l'array...
           chiave=a[i]; j=i-1;
                        while(j>=0&&a[j]>chiave){
                        a[j+1]=a[j];
                        j--;
                        }
               a[j+1]=chiave;
               }
          int k=0;
          for(i=0;i<n;i++){
                             if(a[i]!=a[i+1]){
                                b[k]=a[i];
                                k++;
                                }
                             }

          for(i=0;i<k;i++){  
                 cout<<b[i]<<" ";
                 }
          cin>>ws;
          }
          


Forse è questo quello che cercavi..
ciaoo

p4ngm4n
grazie non avevo pensato di ordinarlo prima...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.