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

    [Java] Matrici

    Ho una matrice quadrata
    Devo dividerla in 5 porzioni ed a ognuna assegnarli un thread come e possibile fare questo??
    Qualcuno puo darmi delle dritte ed eventuali spunti di codice??
    grazie

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

    Moderazione

    Il primo passo è quello di scrivere nell'area corretta (sposto la discussione), il secondo è quello di iniziare a pensare a una risoluzione del problema in base alle tue conoscenze (se sono zero, allora significa che devi documentarti di più), poi proporla in modo che si possa discutere ed eventualmente correggere.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] Matrici

    Originariamente inviato da topolino
    Ho una matrice quadrata
    Devo dividerla in 5 porzioni ed a ognuna assegnarli un thread come e possibile fare questo??
    Innanzitutto dovresti precisare "porzioni" di che tipo. Cioè chiarire bene come deve essere suddivisa la matrice. A blocchi di righe? A blocchi di colonne? A sotto-aree rettangolari? Altro?

    Per quanto riguarda i thread, posso ben immaginare che ogni thread andrà ad operare solo su quella sua porzione, giusto? E allora una volta stabilito come sono fatte le porzioni si può stabilire come "modellare" le informazioni su una porzione. Poter dire: la porzione inizia qui e finisce qua. Ma per farlo bisogna sapere come è la suddivisione!

    Originariamente inviato da topolino
    Qualcuno puo darmi delle dritte ed eventuali spunti di codice??
    No ma più che altro per il motivo che non hai spiegato praticamente nulla di più preciso. Matrice di che tipo? Porzioni di che tipo? I thread che ci devono fare con le porzioni?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Allora la matrice e 512x512 le porzioni sono 5.Vorrei dividere la matrice in modo che abbiamo 5 porzioni di uguali dimensioni quindi 4 agli angoli e una porzione della matrice e centrale e taglia un pezzino degli angoli delle altre 4 porzioni, non so se mi sono spiegato.
    Comunque per immaginarselo un quadrato diviso in 4 e una porzione poi la metto alcentro del 4 e invade quelle altre 4.
    Dopo che l ho divisa che non so come fare, avro 5 thread che nscono in posizioni casuali e in base a dei controlli li andro a posizionare all interno ognuno attraverso le coordinate x,y all'interno delle mie porzioni create, poi il corpo del thread l ho realizzato e fara quello che deve fare..Ma deve restare sempre e solo al suo interno il thread.
    Help

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da topolino
    Allora la matrice e 512x512 le porzioni sono 5.Vorrei dividere la matrice in modo che abbiamo 5 porzioni di uguali dimensioni quindi 4 agli angoli e una porzione della matrice e centrale e taglia un pezzino degli angoli delle altre 4 porzioni, non so se mi sono spiegato.
    Scusa ma non puoi fare un esempio di matrice con delle lettere A B C (che indicano le porzioni) ... così si capisce meglio? Anche piccola. Ma purché sia chiara la suddivisione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    --------------
    | A | B |
    -------------
    | C |
    -------------
    | D | E |
    -------------
    Immagina le prime 200 righe coperte da A e B da 200 a 300 solo da C e da 300 a 500 coperte da D a sx ed e a dx
    Questa e un idea queste formichine devo mangiare dei fiori che appaiono sulla matrice in maniera casuale...quindi puo essere divisa anche in altri modi basta che siano abbastanza omogenee le porzuioni...

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da topolino
    codice:
     -----------
    |  A  |  B  |
     -----------
    |     C     |
     -----------
    |  D  |  E  |
     -----------
    (ho sistemato io qui)

    Immagina le prime 200 righe coperte da A e B da 200 a 300 solo da C e da 300 a 500 coperte da D a sx ed e a dx
    Ok, ora è chiaro!

    Originariamente inviato da topolino
    Questa e un idea queste formichine devo mangiare dei fiori che appaiono sulla matrice in maniera casuale...quindi puo essere divisa anche in altri modi basta che siano abbastanza omogenee le porzuioni...
    Da quanto sopra, le porzioni sono poi aree "rettangolari". Quindi si possono descrivere come un punto di origine (riga,colonna) e una larghezza e altezza.

    Non so di che tipo sia la matrice (int[][], char[][] ??) ma ora poco importa. Quello che potresti fare è "modellare" la porzione con una apposita classe che consente di accedere ai valori nella porzione ma "nascondendo" il fatto che è appunto una porzione.

    codice:
    class PorzioneMatrice {
        private int[][] interaMatrice;
        private int rigaOrigine;
        private int colonnaOrigine;
        private int larghezza;
        private int altezza;
    
        // .... costruttore che assegna ai campi
    
        public int getLarghezza() { ..... }
        public int getAltezza() { ..... }
    
        public int getValore(int r, int c) { .... }
        public void setValore(int r, int c, int valore) { ..... }
    }
    Una cosa del genere insomma (cambiando il tipo se diverso).

    Questa classe all'interno si occupa di "mappare" le coordinate da "logiche" della porzione a quelle "fisiche" della matrice.
    Ovviamente istanzi tanti oggetti PorzioneMatrice quante sono le porzioni. E ognuno lo passi ad un thread.

    Se un thread chiede getValore(0, 0) la classe ovviamente va a mappare la giusta coordinata fisica nella matrice. E se le coordinate sono "fuori" dalla porzione puoi ad esempio lanciare una eccezione come IndexOutOfBoundsException.

    Insomma, questa classe è semplicemente una "astrazione" di una porzione della tua matrice.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.