Kobra (Normal User)
Newbie
Messaggi: 7
Iscritto: 28/11/2008
|
Salve a tutti. Avrei bisogno di una mano per la dichiarazione di un oggetto string in modo dinamico.
Per la precisione vorrei creare un ciclo che carica un oggetto string con delle parole inserite dall'utente. Il mio problema č che non conosco il numero delle stringhe che l'utente vuole inserire.
Per intenderci:
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <string.h> using namespace std; int main() { string a[numero_che_non_conosco]; a[0] = "Prima parola inserita"; a[numero_che_non_conosco] = "Ultima parola inserita"; return 0; }
|
Spero di essere stato chiaro.
Grazie dell'attenzione.
Ultima modifica effettuata da Kobra il 13/08/2009 alle 19:14 |
|
steve__92 (Normal User)
Rookie
Messaggi: 22
Iscritto: 14/07/2009
|
se non ho capito male intendi creare un array di string senza sapere quanto potrebbe essere lungo, giusto?
se č cosė potresti usare vector
ad esempio
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <string> #include <vector> using namespace std; int main() { vector <string> parole; // vettore (una spece di array con dimensioni variabili) string parola; // parola da inserire do { cout << "inserisci una parola :"; cin >> parola; parole.push_back(parola); //aggiungi parola alla fine di parole (dimensioni+1) }while(parola != "exit"); // per uscire digita exit (come ultima parola in lista) int dimensioni = parole.size(); cout << endl << dimensioni; system("pause>nul"); return 0; }
|
poi se vuoi sapere cosa c'č in una certa posizione lo usi come fosse un array
ad esempio se la prima parola che inserisco č "ciccio" e la voglio stampare su schermo basta fare:
cout << parole[1] // o 0, non ricordo mai...
poi con parole.size() hai la dimensione del vettore, quindi se vuoi stampare l'ulitma parola basta fare:
int dimensione_max = parole.size();
cout << parole[dimensione_max];
Ultima modifica effettuata da steve__92 il 14/08/2009 alle 0:39 |
|
Kobra (Normal User)
Newbie
Messaggi: 7
Iscritto: 28/11/2008
|
Grazie steve__92, mi hai risolto un problema su cui battevo la testa da tre giorni...
Ora provo subito.
Grazie ancora.
Ciao
Kobra
|
|