[C++] Vettori: definizioni e lunghezza
Avrei un po' di problemi molto spiccioli:
devo creare un vettore un lunghezza n; avevo visto che si dovrebbe fare:
Mi aspettavo come risultato k=(2,2,2) e invece mi da errore.
Poi se volessi costruire un vettore unendone due?
tipo
a=(a1,a2)
b=(b1,b2)
vorrei che a diventi
a=(a1,a2,b1,b2)
Inoltre dato un vettore come ne calcolo la dimensione? dim(a)?
Infine se volessi creare un vettore che contenga tutti gli interi da A a B (quindi v=(A,A+1,...,B)).
Grazie, capisco sono domande stupide e penserete prenditi una guida e leggilo ma partono da talmente tanto indietro che mi viene lo sconforto.
razie ancora ciao.
devo creare un vettore un lunghezza n; avevo visto che si dovrebbe fare:
int n = 3; vector<double> k (n) = 2;
Mi aspettavo come risultato k=(2,2,2) e invece mi da errore.
Poi se volessi costruire un vettore unendone due?
tipo
a=(a1,a2)
b=(b1,b2)
vorrei che a diventi
a=(a1,a2,b1,b2)
Inoltre dato un vettore come ne calcolo la dimensione? dim(a)?
Infine se volessi creare un vettore che contenga tutti gli interi da A a B (quindi v=(A,A+1,...,B)).
Grazie, capisco sono domande stupide e penserete prenditi una guida e leggilo ma partono da talmente tanto indietro che mi viene lo sconforto.
razie ancora ciao.
Risposte
vector<double> k (2,2,2); //se gli elementi sono troppi usa un ciclo for
Purtroppo non conosco un metodo della classe vector che consenta di unire due vettori, ma potresti usare un ciclo for iterando il vettore $b$ in modo da aggiungere ogni suo elemento al vettore $a$.
La lunghezza di un vettore la ottieni con il metodo pubblico vector::size();
a.size(); //dato un vettore a dichiarato ed inizializzato
Per la terza opzione usa un ciclo for
for(int i = A; i<=B; i++) v.push_back(i);
Grazie mille, ora vado a sbatterci un po la capoccia; domani ti faccio sapere.
Grazie ancora.
Grazie ancora.
E' possibile usare un costruttore apposta per impostare un certo valore a tutti i componenti di vector.
Nel tuo caso:
Reference: http://www.cplusplus.com/reference/stl/vector/vector/
Nel tuo caso:
vector<double> k(3, 2);
Reference: http://www.cplusplus.com/reference/stl/vector/vector/
@vict85:Grazie finalmente questo funziona, grazie anche del riferimento.