PDA

Visualizza la versione completa : [C] Vettori


Ghiozzo
17-06-2010, 15:53
E dopo java...mi cimento con C. Ma tutto sommato il problema è sempre quello...i vettori :confused:

Non so proprio da che parte girarmi. Il problema è questo: dati due vettori di 10 elementi ciascuno già ordinati in modo crescente, come faccio a creare un terzo vettore di 20 elementi che includa tutti gli elementi dei vettori precedenti in ordine crescente?

Ad esempio:

vett1: 6 7 10 11 12 13 19 28 33 40
vett2: 2 3 6 8 9 20 21 24 28 30

il vett3 deve essere: 2 3 6 6 7 8 9 10 11 12 13 19 20 21 28 28 30 33 40

oregon
17-06-2010, 16:04
E quindi? Dobbiamo fare l'esercizio al posto tuo?

Ghiozzo
17-06-2010, 16:18
:confused: datemi almeno un'idea...ho provato a ragionare ma non riesco a venirne fuori.

oregon
17-06-2010, 16:24
Comincia a scrivere il codice che esamina, con due indici diversi, gli elementi del primo e del secondo vettore, e con un terzo indice possa scrivere nel terzo.

Confronta il valore dell'elemento corrente del primo vettore con quello del secondo e copia quello più piccolo ... aggiorna adeguatamente gli indici ...

Comincia a buttare giù del codice ...

Ghiozzo
17-06-2010, 16:48
ma i puntatori son necessari? Perchè in teoria dovrebbe essere risolvibile anche senza! Forse è per quello che non ci riesco...boh.

vett1: 6 7 10 11 12 13 19 28 33 40
vett2: 2 3 6 8 9 20 21 24 28 30

ad esempio...tramite un ciclo for arrivo a confrontare l'8 del secondo vettore con gli elementi del primo (e fino a qua ho copiato il 2 dal confronto 2-6, il 3 dal confronto 3-6, il 6 dal confronto 6-6). Confronto l'8 con il 6 e copio 6. Ma poi dovrei passare all'elemento successivo del secondo vettore cioè 9 ma così mi perdo l'8 che non verrebbe copiato. Come faccio?

xnavigator
17-06-2010, 16:51
segui la strada ceh ti ha detto oregon sopra e lo risolvi

oregon
17-06-2010, 16:51
Originariamente inviato da Ghiozzo
ma i puntatori son necessari? Perchè in teoria dovrebbe essere risolvibile anche senza! Forse è per quello che non ci riesco...boh.

Intendevo puntatori agli elementi ... cioè gli "indici" (non i puntatori C ... non sono necessari).


Come faccio?

Non ti perdi l' 8 perchè l'indice che userai per scorrere il vett2 rimarrà fermo ...

Ghiozzo
17-06-2010, 17:33
e come faccio a farlo rimanere fermo? :confused:

ti prego scrivimi un pezzo di codice!

Ghiozzo
17-06-2010, 17:36
davvero non riesco a farlo. Ci vogliono 2 cicli for e 1 ciclo while per tenere fermo un indice? Ma come si incatenano?

oregon
17-06-2010, 18:58
Mi fai vedere cosa hai scritto? Cosa hai provato?

Loading