Oppure

Loading
17/07/16 16:21
martina98
Ciao a tutti, ho provato in vari modi a fare questo esercizio, ma ho incontrato molte difficoltà.

L'esercizio è il seguente:
Realizzare in linguaggio c++ una classe per implementare una pila basata su vector della libreria stl. Scrivere un'applicazione che legge da tastiera un elenco di nomi e li mette nella pila. Successivamente li ordina e li stampa.

aaa
17/07/16 16:40
Roby94
Salve,
non mi pare di scorgere alcuna particolarità nell'esercizio. Precisamente quale difficoltà incontri nello svolgimento dell'esercizio? Postare i tuoi listati incompleti può essere un punto di partenza per aiutarti.
aaa
17/07/16 17:18
martina98
il mio problema è che vector della libreria stl non lo conosco, ordinare e stampare non è un problema. A giro per il web ci sono molti esempi di vector di numeri, ma non di stringhe....

se non ho una dimensione del vector, come faccio a dare una fine al ciclo for?
aaa
17/07/16 17:43
Roby94
La parola chiave è pila o stack; non hai una dimensione fissa perché uno stack per avere senso deve poter crescere indefinitivamente.
it.wikipedia.org/wiki/…
Per quanto riguarda le stringhe dipende da che costrutto per stringhe usate di solito, array di char, classe String? Ma in ogni caso andando molto ad interpretazione senza conoscere il metodo di insegnamento del vostro professore ha senso pensare che il vector non debba essere altro che un vettore di puntatori a istanze o C string. Quando vai a creare il vettore (essendo un template) deve essere specificato che tipo di valori lo popoleranno.
es
vector<string> list;
aaa
18/07/16 19:56
lumo
Postato originariamente da martina98:
il mio problema è che vector della libreria stl non lo conosco, ordinare e stampare non è un problema. A giro per il web ci sono molti esempi di vector di numeri, ma non di stringhe....

se non ho una dimensione del vector, come faccio a dare una fine al ciclo for?

Ciao
Come dice sopra roby puoi cambiare il tipo di oggetto memorizzato in un vector. Nota che, se sei familiare con gli array a grandezza fissa, vector<char[20]> o simili non funzioneranno.
La grandezza di un vector non è fissa, per questo quando la prima volta aggiungi gli elementi devi usare push_back. Dopo puoi usare gli indici normalmente.

La grandezza la conosci perché ti basta un contatore nel ciclo di inserimento, altrimenti puoi usare il metodo size di vector.
Cercando su Google dovresti trovare molto materiale.
aaa
18/07/16 20:15
pierotofy
Postato originariamente da martina98:

Ciao a tutti, ho provato in vari modi a fare questo esercizio, ma ho incontrato molte difficoltà.



Hai cominciato a scrivere del codice? Postalo qui.
Il mio blog: piero.dev