Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Aiuto vettori stringhe
Forum - C/C++ - Aiuto vettori stringhe

Avatar
Kobra (Normal User)
Newbie


Messaggi: 7
Iscritto: 28/11/2008

Segnala al moderatore
Postato alle 19:11
Giovedì, 13/08/2009
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++

  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     string a[numero_che_non_conosco];
  9.     a[0] = "Prima parola inserita";
  10.     a[numero_che_non_conosco] = "Ultima parola inserita";
  11.     return 0;
  12. }



Spero di essere stato chiaro.

Grazie dell'attenzione.

Ultima modifica effettuata da Kobra il 13/08/2009 alle 19:14
PM Quote
Avatar
steve__92 (Normal User)
Rookie


Messaggi: 22
Iscritto: 14/07/2009

Segnala al moderatore
Postato alle 0:30
Venerdì, 14/08/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++

  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.         vector <string> parole; // vettore (una spece di array con dimensioni variabili)
  9.         string parola; // parola da inserire
  10.         do
  11.         {
  12.                 cout << "inserisci una parola :";
  13.                 cin >> parola;
  14.                 parole.push_back(parola); //aggiungi parola alla fine di parole (dimensioni+1)
  15.         }while(parola != "exit"); // per uscire digita exit (come ultima parola in lista)
  16.         int dimensioni = parole.size();
  17.         cout << endl << dimensioni;
  18.         system("pause>nul");
  19.         return 0;
  20. }



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
PM Quote
Avatar
Kobra (Normal User)
Newbie


Messaggi: 7
Iscritto: 28/11/2008

Segnala al moderatore
Postato alle 16:54
Venerdì, 14/08/2009
Grazie steve__92, mi hai risolto un problema su cui battevo la testa da tre giorni...:k:

Ora provo subito.

Grazie ancora.

Ciao

Kobra

PM Quote