|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
[C++]Unione di array(vettori)
Salve a tutti,sto preparando un esame di fondamenti di informatica,ma sono incappato in un problema alquanto vergognoso:non mi ricordo come si fanno ad unire piu' vettori in un unico vettore.
Non preoccupatevi,non faccio cosi' pena a programmare,ma adesso non mi ricordo proprio come si fa,anche se è una cosa elementare.....vuoto di memoria! ![]() Il programma prevedeva di leggere da 3 file diversi e di inserirli in tre vettori,ordinarli e poi unirli in un altro vettore,salvandolo in un file. Aiutatemi vi prego ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Crei un vettore grande quanto il vettore risultante e ci copi gli elementi dentro...o uno ad uno (tre for o un solo for se hanno dimensione uguale), oppure usi la memcpy.
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
Cmq per i for ci stavo epnsando e ho scritto una cosa cosi': void unione(vettore v1,vettore v2,vettore v3,vettore v,int &riemp){ int i; int j=i+1; int k=j+1; for(i=0;i<riemp;i++){{ v[i]=v1[i]; i++; } for(j=0;j<riemp;j++){{ v[j]=v2[i]; j++; } for(k=0;k<riemp;k++){{ v[k]=v3[i]; k++; } cout<<v[i]<<endl; } } } } Il problema è che mi da una miriade di numeri messi a casaccio. Dove sbaglio? |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Col memcpy funge tipo così... (Potrebbe essere sbagliato
![]() Codice:
template <typename T> void merge( T* dest, size_t length1, T* src, size_t length2 ); { //espandi il primo array realloc( dest, sizeof(T) * (length1+ length2 ) ); //incolla nello spazio vuoto il secondo memcpy(dest + length1, src, sizeof( T )* length2 ); } Ultima modifica di Tommo : 19-01-2009 alle 10:53. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() Hai sbagliato l'inizializzazione delle variabili, dopo le reinizializzi anche nel for, poi fai un doppio incremento nel for. Probabilmente è sbagliato anche il passaggio dei parametri alla funzione. |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Scusa se sono franco, ma qui il problema è la conoscenza del linguaggio, non è il non sapere come fare ad unire 3 vettori. Se anche ti chiedessi di scrivere una funzione che copia il contenuto di un vettore in un altro avresti secondo me gli stessi problemi.
L'unico modo per aiutarti sarebbe metterti direttamente la soluzione, ma in questo forum non si risolvono esercizi completi. |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
Se non vuoi darmi una mano puoi benissimo non dire niente,piuttosto che dirmi che non so fare niente(per non essere volgare,poikè mi ritengo una persona civile),come ha fatto qualcun altro. E sai che ti dico delle mie conoscenze?Sono riuscito a farlo,da solo,e anche in piu' modi,ma non grazie alla tua franchezza. Ciao |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
Scusa ancora se hai capito male o ti ho fatto capire male io. |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]() Onestamente, se non ci sbatti la testa tu non serve a niente. Ringrazia di averci perso una giornata oggi, magari questo ti risparmierà tante giornate in futuro... Più che indirizzarti sulla giusta strada e darti tutti i consigli e gli input possibili per risolvere, cosa avrebbe dovuto fare cionci, fare i tuoi esercizi? ![]() Su un forum pubblico come questo puoi solo chiedere gentilmente e sperare di ricevere attenzione (che in quel caso, fidati, ti arriverà puntuale ed impeccabile), non puoi pretendere che gli altri facciano il tuo lavoro. Sono reduce anche io da una giornataccia con un progetto universitario che non voleva saperne di funzionare, quindi capisco benissimo il fattore nervosismo, ma non dimenticare mai di tenere i toni sotto controllo. ciao ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
Inoltre non voglio che altri facciano il mio lavoro,tant'è che di codice ne scrivo a morire,e ne ho anche postato un pezzetto precedentemente,è solo che volevo sapere che c'era di sbagliato in quel pezzetto,tutto qui,non volevo approfondimenti o cose varie.Mi da solo fastidio che mi si dice che è tutto sbagliato e basta ![]() Cmq,il programma l'ho finito,amen ![]() |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ma no, le parole di cionci mi sembravano molto più innocenti, ti ha semplicemente fatto notare che una più profonda conoscenza del linguaggio ti avrebbe risolto il problema e che forse era il caso di ripassare alcuni concetti, non mi sembra di leggere che "sei incapace".
![]() Vabbe', "tutto è bene quel che finisce bene". In bocca al lupo per gli esami. ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il codice precedente era tutto sbagliato.
Non ti ho detto che sei un incapace, ti ho detto che dovevi studiare il linguaggio per poter risolvere senza fatica il problema. Ripeto: se ti avessi dato la soluzione non avrei fatto i tuoi interessi. Se poi ci hai letto altre cose, che ti devo dire, me ne scuso ![]() |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
Mi scuso se so stasto tropp oaggressivo,ma sto cavolo di programma l'ho odiato dal profondo del cuore oggi ![]() |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1554
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:02.