Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] Fusione di matrici

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148

    [c]Fusione vettori

    Devo generalizzare un algoritmo che fonde due vettori, per le matrici.

    In pratica ho due vettori di stringhe, ciascuno ordinato, e devo produrre un terzo vettore di uscita che sia l'unione degli altri due, mantenendo però l'ordinamento.
    Un algoritmo dice di usare un indice per ogni vettore, quindi 3 indici(i j k), dopodichè, con un ciclo, confronto i valori vett1[i] e vett2[j], il piu piccolo viene copiato in vettu[k]. A questo punto incremento i se ho copiato vett[i] oppure incremento j se ho copiato vett2[j]. Il ciclo termina quando uno dei due vettori arriva alla fine. Successivamente copio tutti gli elementi del vettore che rimangono da copiare.

    Con le matrici potrei considerare tanti vettori quante sono le righe della matrice. Il problema però è che non riesco a capire come faccio a tenere tanti indici quante sono le righe della matrice. La matrice ha dimensione non nota a priori.

    Spero di essere stato chiaro, grazie per i consigli.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Perche' devi usare delle matrici?

    Il problema non era quello relativo a 3 vettori?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Perchè nel mio caso ho una matrice di stringhe.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quindi hai una matrice di 3 righe, in cui ogni riga e' uno dei vettori di cui parli ...

    Hai scritto del codice o no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Il fatto è che le righe della matrice non sono note a priori, quindi non conosco con quanti vettori di stringhe ho a che fare. E' qui che mi sono bloccato, secondo l'algoritmo infatti, dovrei tenere un indice per ogni vettore, ma come faccio se non so a priori con quante righe sto lavorando? Infatti la matrice è allocata in modo dinamico.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'allocazione, seppur dinamica, viene effettuata con delle variabili che contengono il numero di righe e di colonne (le dovrai pur sapere per allocare la matrice ...).

    Devi quindi usare il valore di queste variabili.

    In realta', non ho capito molto del tuo problema, perche' non comprendo cosa c'entri la fusione dei vettori (che e' un problema specifico che puoi risolvere con una funzione che accetti i corretti parametri e svolga tutto il lavoro) e l'allocazione della tua matrice ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Allora se io considero ogni riga della matrice come un vettore di stringhe, devo usare tanti indici quanti sono i vettori e quindi le righe della matrice. Se sapessi che la matrice ha 3 righe, allora uso tre indici i, j e k ad esempio. Ma io durante l'esecuzione so quante righe ha la matrice ed a quel punto dovrei dichiarare tanti indici quante sono le righe, ma è una cosa che non è possibile fare. Spero di essere stato chiaro adesso

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da andry85
    ... dovrei dichiarare tanti indici quante sono le righe, ma è una cosa che non è possibile fare ...
    E perche' non e' possibile?

    Tu puoi allocare dinamicamente un "vettore di indici"

    i[r]

    ed usarli ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.