Ordinare un array in base all'ordine di un altro array

di il
4 risposte

Ordinare un array in base all'ordine di un altro array

Salve a tutti.
Sto programmando in C da poco tempo e avrei bisogno di una mano nell'ordinare un array. Mi spiego meglio.
Ho tre array delle stessa dimensione, il primo relativo al numero oggetto, quindi da 1 a 10 ad esempio, gli altri due relativi a due coefficienti diversi, associati alla stesso oggetto, ma descrivendolo in due aspetti diversi.
In pratica è come se avessi per ogni oggetto: nome oggetto; coeff. "A"; coeff. "B".
Ho ordinato l'array di coefficienti B e vorrei avere l'array dei coefficienti A ordinato in base all'ordine dei coefficienti B.
In pratica in base all'ordinamento dei coefficienti B, devo ordinare anche gli oggetti e i coefficienti A.
Faccio un rapido esempio numerico.
nome_oggetto= [1, 2, 3]
coeff A =[6, 3, 9]
coeff B = [1, 15, 3]
Ordino in maniera crescente coeff B ottenendo [1,3,15]
Vorrei quindi ordinare gli altri due array in maniera conseguente, in modo da avere nome_oggetto=[1,3,2] e coeff A=[6,9,3].
Forse una soluzione a questo problema è già stata trovata... E se qualcuno mi riesce a dare una mano o un'idea ne sarei grato.
Ancora grazie a tutti.

4 Risposte

  • Re: Ordinare un array in base all'ordine di un altro array

    Ciao,
    l'idea è molto semplice: ogni volta che scambi due elementi nell'array dei coefficienti scambi anche gli elementi corrispondenti negli altri array. Di fatto esegui le stesse operazioni su tutti gli array.

  • Re: Ordinare un array in base all'ordine di un altro array

    Ciao,
    l'idea è molto semplice: ogni volta che scambi due elementi nell'array dei coefficienti scambi anche gli elementi corrispondenti negli altri array. Di fatto esegui le stesse operazioni su tutti gli array.
    Ovviamente i controlli per l'ordinamento sono solo sull'array da ordinare
  • Re: Ordinare un array in base all'ordine di un altro array

    ale99 ha scritto:


    Ovviamente i controlli per l'ordinamento sono solo sull'array da ordinare
    Sì certamente. E questo si "tira dietro" tutti gli altri.

  • Re: Ordinare un array in base all'ordine di un altro array

    Alla fine ho fatto una modifica al bubble sort. Il controllo l'ho lasciato solo sul vettore del coeff. B, ma la parte in cui vengono invertiti gli elementi l'ho modificata con tutti i vettori. Credo sia ok, perchè mi sembra che funzioni! Che ne pensate?

    Grazie mille ragazzi.
Devi accedere o registrarti per scrivere nel forum
4 risposte