Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Manipolazione array e associazioni...

    Salve.

    Ho un piccolo problema da risolvere.

    Ho un vettore (di massimo 10 elementi) che contiene, per ogni indice, un altro indice a cui fare riferimento (sempre all'interno del vettore).
    Il riferimento è biettivo quindi se la casella 2 punta alla 3, allora anche la 3 deve puntare alla 2 ecc...

    Es:

    pippo[0] = 2;
    pippo[1] = 3;
    pippo[2] = 0;
    pippo[3] = 1;

    Il problema è questo. L'utente potrebbe voler cambiare questa associazione. L'algoritmo che devo creare, deve aggiornare il vettore mantenendo le associazioni correttamente. Poniamo che l'utente voglia che pippo[3] punti a pippo[2], la situazione finale deve essere:

    pippo[0] = 1;
    pippo[1] = 0;
    pippo[2] = 3;
    pippo[3] = 2;

    In pratica devono aggiustarsi anche gli altri indici coinvolti che ovviamente non possono riferirsi a se stesso (quindi pippo[0] = 0; non è consentito).

    Così a prima vista, mi viene il sospetto che occorra risolverlo con la ricorsione, come sul modello della Torre di Hanoi.

    Voi cosa suggerite?

    Per quanto concerne il linguaggio, devo realizzarlo in Javascript ma essendo un algoritmo di manipolazione di array, qualsiasi linguaggio che utilizzi sitnassi standard e manipolazione standard dei vettori, è accettabile.

    Grazie e alla prossima...
    .:[Mr.Mime]:.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Ciao, se sei disposto ad accettare soluzioni in qualsiasi linguaggio che non sia JavaScript, la tua discussione può rimanere qui (poichè JS è trattato in un forum differente).

    Se non hai un linguaggio specifico di riferimento, usa comunque un titolo conforme al Regolamento mettendo un [?].

    Questo titolo lo correggo io.

    Ciao e buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Come ho scritto, il linguaggio è indifferente in questo caso perché si tratta di manipolazione di array. E' ovvio che sarebbe meglio evitare costrutti specifici dei singoli linguaggi (Es. foreach, array_walk ecc...).

    Accetto comunque anche pseudolinguaggio.

    Per quanto riguarda il titolo, mi scuso se non era conforme. Ho letto il regolamento molto tempo fa e non mi ricordavo di questa clausola.

    Ciao e alla prossima...
    .:[Mr.Mime]:.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.