Vettore di stringhe?

di il
8 risposte

Vettore di stringhe?

Ciao a tutti, un esercizio mi chiede di creare un vettore di stringhe e, cercando di capire come funziona, ho scritto un codice semplice per vedere se mi faceva inserire i dati e stamparli a video, il programma parte ma si blocca dopo che ho inserito i dati per riempire il vettore (non importa di che tipo li inserisco, si blocca sempre nel momento in cui deve stamparli a video). Sapreste dirmi dove ho sbagliato? Magari ho proprio interpretato male la consegna e creare un vettore di stringhe vuol dire proprio un'altra cosa, non sarebbe la prima volta
#include <iostream>
#include <string>
using namespace std;

int main() {
	int n;
	cout<<"Inserire il numero di elementi del vettore: \n";
	cin>>n;
	string vett[n];
	for (int i = 0; i <= n; i++) {
		cout<<"Inserire il valore di posizione "<<i<<": \n";
		cin>>vett[i];
	}
	cout<<"Il vettore inserito e\': \n";
	for (int i = 0; i <= n; i ++ ) {
		cout<<vett[i];
		cout<<" ";
	}
	return 0;
	system("pause");     //sì, uso dev
}

8 Risposte

  • Re: Vettore di stringhe?

    In C/C++ gli indici dei vettori (di qualsiasi tipo) partono da 0 e si fermano a n-1 se l'hai dimensionato con n elementi.

    Quindi, nei cicli, questo

    i <= n;

    è sbagliato.

    P.S. Ogni linea di codice dopo

    return 0;

    non può essere eseguita, quindi è inutile e sbagliata.
  • Re: Vettore di stringhe?

    oregon ha scritto:


    In C/C++ gli indici dei vettori (di qualsiasi tipo) partono da 0 e si fermano a n-1 se l'hai dimensionato con n elementi.

    Quindi, nei cicli, questo

    i <= n;

    è sbagliato.
    me ne sono accorta quasi subito, infatti l'ho modificato, ma il risultato non è cambiato...

    oregon ha scritto:



    P.S. Ogni linea di codice dopo

    return 0;

    non può essere eseguita, quindi è inutile e sbagliata.
    Questo non lo sapevo, non ci avevo mai pensato anche perché non mi dava mai messaggi di errore... comunque adesso che l'ho tolto funziona grazie ce l'avevano sempre fatto mettere, pensavo fosse indispensabile, boh invece sembra che non cambia niente hahaha
  • Re: Vettore di stringhe?

    No ... è molto importante ... studia bene questa cosa (e anche che dopo il return non devi scrivere nulla)
  • Re: Vettore di stringhe?

    oregon ha scritto:


    No ... è molto importante ... studia bene questa cosa (e anche che dopo il return non devi scrivere nulla)
    Sul mio libro non dice nulla di particolare (solo di metterlo sempre più che altro...), vado a fare qualche ricerca su google, ho capito grazie per l'aiuto comunque
  • Re: Vettore di stringhe?

    Scusa, ma che cerchi su google? Che dovresti trovare? Che dubbio hai?
  • Re: Vettore di stringhe?

    oregon ha scritto:


    Scusa, ma che cerchi su google? Che dovresti trovare? Che dubbio hai?
    Mi riferivo a questa risposta:

    oregon ha scritto:


    No ... è molto importante ... studia bene questa cosa (e anche che dopo il return non devi scrivere nulla)
    Non ho un dubbio in particolare, solo che certe volte faccio le cose "a macchinetta" senza sapere perché le faccio... non è la prima volta che un programma mi dà problemi come quello di oggi (era tipo una lotteria, a volte andavano e a volte no), ma siccome erano esercizi semplici che ero sicura di saper fare ho dato la colpa all'aggiornamento a windows 10 che ho fatto ultimamente
    Ho detto che avrei cercato su google perché, come ho detto prima, il mio libro non ne parla nel dettaglio, alla fine su alcune cose dice solo di metterle, tipo: int main() mettila e zitto, return 0 mettilo e zitto, system("pause") mettilo e zitto e così via, ma siccome sono una persona distratta, se non capisco bene il perché di una cosa non riesco a ricordarmela
  • Re: Vettore di stringhe?

    Non per fare il polemico, ma vorrei fare il polemico: la tecnica didattica del "mettilo e zitto!" mi ricorda molto da vicino i miei "insegnanti" del Conservatorio, negli anni '80... Notare le virgolette. Scarica subito un testo nel quale ti si rivolge con un "mettilo e zitto!", indipendentemente dalla forma che gli si dà. Questo, per lo meno, è il mio punto di vista.

    Edit: "scarica" nel senso di "abbandona".
  • Re: Vettore di stringhe?

    AldoBaldo ha scritto:


    Non per fare il polemico, ma vorrei fare il polemico: la tecnica didattica del "mettilo e zitto!" mi ricorda molto da vicino i miei "insegnanti" del Conservatorio, negli anni '80... Notare le virgolette. Scarica subito un testo nel quale ti si rivolge con un "mettilo e zitto!", indipendentemente dalla forma che gli si dà. Questo, per lo meno, è il mio punto di vista.

    Edit: "scarica" nel senso di "abbandona".
    Non li "scarico" per scelta, ma proprio perché non ci capisco nulla e per me è impossibile da studiare da lì
Devi accedere o registrarti per scrivere nel forum
8 risposte