Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Eliminare elementi uguali in un array....
Forum - C/C++ - Eliminare elementi uguali in un array....

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 12:09
Venerdì, 06/08/2010
Codice sorgente - presumibilmente C++

  1. //esercizio 11. Compilato con wxDev-C++
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main(int argc, char *argv[])
  9. {
  10.     //input
  11.     int n,f;//numero elementi a
  12.     //lavoro
  13.     int i,j,x;
  14.    
  15.     do{
  16.         cout<<"inserisci numero elementi di a: ";
  17.         cin>>n;
  18.         f=n;
  19.     }while(n<=0);
  20.    
  21.     string a[n];
  22.    
  23.     for(i=0;i!=n;i++){
  24.         cout<<"\n inserisci elemento: ";
  25.         cin>>a[I];
  26.     }
  27.    
  28.     //cercare elementi uguali
  29.    
  30.     for(i=0;i!=n;i++){
  31.         for(j=1;j!=n;j++){
  32.             if(a[I]==a[j]){
  33.                 for(x=j;x!=n;x++){
  34.                     a[x]=a[x+1];    
  35.                 }
  36.                 f--;    
  37.             }
  38.         }    
  39.     }
  40.    
  41.     for(i=0;i!=f;i++){
  42.         cout<<"\n"<<a[I];
  43.     }
  44.    
  45.     cout<<"\n";
  46.     system("PAUSE");
  47.     return EXIT_SUCCESS;
  48. }



mi dà errore aiuto...

Ultima modifica effettuata da Raffa50 il 06/08/2010 alle 14:05
PM Quote
Avatar
delta (Normal User)
Pro


Messaggi: 96
Iscritto: 01/09/2009

Segnala al moderatore
Postato alle 12:36
Venerdì, 06/08/2010
qual'è il problema?

EDIT:
miseriaccia...
1)non puoi fare cin in un array! al massimo una particolare posizione!
2)non puoi stampare un array! devi fare un ciclo che scorra l'array e ne stampi i valori ad uno ad uno!

Ultima modifica effettuata da delta il 06/08/2010 alle 12:41
PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 14:02
Venerdì, 06/08/2010
lo sò ma questo forum non mi fà mettere ""

a[I] è...

PM Quote
Avatar
carant (Normal User)
Pro


Messaggi: 69
Iscritto: 08/11/2009

Segnala al moderatore
Postato alle 17:28
Venerdì, 06/08/2010
Il numero di elementi di un array deve essere costante.:k:

Potresti postare gli errori che ti da il compilatore?

Ultima modifica effettuata da carant il 06/08/2010 alle 17:29
PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 18:48
Venerdì, 06/08/2010
     string a[n]; (Errore) int a[n]
    
    for(i=0;i!=n;i++){
        cout<<"\n inserisci elemento: ";
        cin>>a[I]; (Errore) la I maiuscola, devi mettere i minuscola :nono:

  
    

Ultima modifica effettuata da Ultimo il 06/08/2010 alle 18:51


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 18:52
Venerdì, 06/08/2010
Testo quotato

Postato originariamente da carant:

Il numero di elementi di un array deve essere costante.:k:




Vero. Ci sono però vari modi per rendere il loro numero di elementi variabili, non ultima la dichiarazione logica succedente:

Codice sorgente - presumibilmente C/C++

  1. int num_elem;
  2. //codice
  3. cin>>num_elem;
  4. int arr[num_elem];



In questo modo, la variabile num_elem risulta costante, essendo gia definita, nel momento della dichiarazione dell'array. Ovviamente, è importante che questo valore non sia più modificato finchè ci si trova nel campo di utilizzo dell'array.

Comunque, gli array sono tipici del C. Se vuoi scrivere VERO codice C++, usa i vector: sono nativamente illimitati, versatilissimi (basati sui template), molto più stabili degli array.

PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 20:29
Venerdì, 06/08/2010
la I corrisponde alla i. solo che il forum non la prende...

cmq qualcuno mi puà fare un esempio di vector

PM Quote
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 9:29
Sabato, 07/08/2010
Testo quotato

Postato originariamente da Raffa50:
cmq qualcuno mi puà fare un esempio di vector



Per poterti spiegare i vector, devo essere sicuro che tu conosca i template.

Se non li conosci: Ho scritto questa guida, di sole 15 pagine, in cui sono spiegati sia i template che i vector. Potresti studiatela, per esempio. si trova qui: http://blueway.jimdo.com/downloads/guide/ (è la seconda).

Se li conosci: i vector sono uno sviluppo delle classi template. Sono contenuti nel namespace std, e utilizzabili attraverso l'header <vector>. Il loro prototype è il seguente:

vector<tipo>nome(numero_elementi)

Da notare l'utilizzo delle parentesi tonde per contenere il numero di elementi: questa peculiarità è dovuta alla presenza del termine vector nella dichiarazione. La scrittura

vector<tipo>nome[numero_elementi]

creerebbe un array di vector. Altra peculiarità: i vector hanno numero di elementi nativamente variabile. È, infatti, perfettamente corretto, e spesso necessario, scrivere:

Codice sorgente - presumibilmente C/C++

  1. int n_elem = 1;
  2. vector <double> doub_vec (n_elem);
  3. //CODICE VARIO
  4. n_elem ++; //così il numero di elementi di doub_vec diventa 2



Questa peculiarità permette di avere un vettore illimitato. Su questo stesso principio si basa il tipo string, che, alla fine, è un typedef del seguente tipo di vector:

vector<char*[]>str(...)

I vector posseggono vari metodi e funzioni. Alcune tra le più importanti sono quelle indicate nelle seguenti pagine:

http://www.cppreference.com/wiki/stl/vector/push_back
http://www.cppreference.com/wiki/stl/vector/pop_back
http://www.cppreference.com/wiki/stl/vector/resize
http://www.cppreference.com/wiki/stl/vector/max_size
http://www.cppreference.com/wiki/stl/vector/clear
http://www.cppreference.com/wiki/stl/vector/empty
http://www.cppreference.com/wiki/stl/vector/at

C'è da ricordare che i vector non sono aggiuntivi agli array: sono sostitutivi. Se usi gli uni, non è consigliabile usare gli altri.

PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 15:48
Sabato, 07/08/2010
ehm un esempio di quell'esercizio ma con i vector?

cmq io la sà la oop perchè programmo in php (e mi hai aiutato per il c++)

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo