Oppure

Loading
06/08/10 10:09
Raffa50
//esercizio 11. Compilato con wxDev-C++
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char *argv[])
{
    //input
    int n,f;//numero elementi a
    //lavoro
    int i,j,x;
    
    do{
        cout<<"inserisci numero elementi di a: ";
        cin>>n;
        f=n;
    }while(n<=0);
    
    string a[n];
    
    for(i=0;i!=n;i++){
        cout<<"\n inserisci elemento: ";
        cin>>a[I];
    }
    
    //cercare elementi uguali
    
    for(i=0;i!=n;i++){
        for(j=1;j!=n;j++){
            if(a[I]==a[j]){
                for(x=j;x!=n;x++){
                    a[x]=a[x+1];    
                }
                f--;    
            }
        }    
    }
    
    for(i=0;i!=f;i++){
        cout<<"\n"<<a[I];
    }
    
    cout<<"\n";
    system("PAUSE");
    return EXIT_SUCCESS;
}


mi dà errore aiuto...
Ultima modifica effettuata da Raffa50 06/08/10 12:05
aaa
06/08/10 10:36
delta
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 06/08/10 10:41
aaa
06/08/10 12:02
Raffa50
lo sò ma questo forum non mi fà mettere "[i]"

a[I] è...
aaa
06/08/10 15:28
carant
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 06/08/10 15:29
aaa
06/08/10 16:48
Ultimo
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 06/08/10 16:51
If ok Then GOTO Avanza else GOTO Inizia

06/08/10 16:52
BlueWay
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:

int num_elem;
//codice
cin>>num_elem;
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.
aaa
06/08/10 18:29
Raffa50
la I corrisponde alla i. solo che il forum non la prende...

cmq qualcuno mi puà fare un esempio di vector
aaa
07/08/10 7:29
BlueWay
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: 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:

int n_elem = 1;
vector <double> doub_vec (n_elem);
//CODICE VARIO
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:

cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…
cppreference.com/wiki/stl/vector/…

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