Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    25

    Confronto matrici in file

    bgiorno a tutti. ho un problema!!!
    ho salvato in una cartella dal nome valutazioni, 20 file di txt contenenti matrici [2][20] e aventi la seguente struttura:

    id1.................id2...............id3......... ........id4...............id5..................... ...id20
    0....................3..................1......... ..........0.................0..................... .....0

    vorrei confrontare ciascuno di questi file con i rimanenti e creare per ogni confronto un 2 array in cui inserire solo le celle CORRISPONDENTI diverse da 0. Faccio un esempio: confronto il file 1.txt con il file 2.txt.


    id1.................id2...............id3......... ........id4...............id5..................... ...id20
    0....................3..................1......... ..........0.................7..................... .....2


    id1.................id2...............id3......... ........id4...............id5..................... ...id20
    0....................0..................2......... ..........0.................4..................... .....1

    i risultati devono essere salvati un 2 array come segue:
    vet1=[1,7,....ecc.ecc,2]
    vet2=[2,4,....ecc.ecc,1]
    come posso fare??

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

    Re: Confronto matrici in file

    Originariamente inviato da nacma
    come posso fare??
    Innanzitutto devi scrivere il codice per leggere e parsare il file di testo e creare un array Java che contenga i valori. Poi scrivi altro codice per confrontare due array e che crea gli array che ti servono per i risultati.

    Lo so .... sono stato (troppo) breve. Ma anche tu hai spiegato poco e in modo non chiaro! Quei id1, id2 ... id20 cosa sono??? Sono solamente i "titoli" delle colonne?? (quindi ignorabili ai fini della elaborazione) E quei puntini cosa indicano?? Spazi? Tab? E di quei due array di risultato cosa devi farne? Stamparli a video? Scriverli su file? Esattamente nella forma in cui li hai scritti?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    25
    ciao andbin. allora....id1,id2ecc.ecc. sono gli identificativi della colonna(ignorabili ai fini dell'elaborazione); i puntini li ho usati esclusivamente per distaccare le colonne e dare una migliore visione della struttura dei files(è una normale matrice [2][20]). gli array-risultato mi servono per effettuare un calcolo della distanza tra i vettori con la regola del coseno(metodo già implementato). incollo un frammento di codice.....volevo sapere come effettuare il confronto in modo tale da salvare Negli array solo le celle corrispondenti ed ENTRAMBE diverse da zero!!!
    mi manca esattamente la porzione di codice per effettuare il corretto confronto....il resto è fatto. mi dai una mano?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nacma
    volevo sapere come effettuare il confronto in modo tale da salvare Negli array solo le celle corrispondenti ed ENTRAMBE diverse da zero!!!
    mi manca esattamente la porzione di codice per effettuare il corretto confronto....il resto è fatto. mi dai una mano?
    Ma dovresti specificare meglio!!! Tu che cosa hai a livello di oggetti??? Se la prima riga del file è ignorabile ... allora vuol dire che hai solamente un array a 1 dimensione con 20 elementi! Hai un int[]? Altro? Che cosa?
    Se hai detto che il resto è fatto, allora hai già creato l'array con i valori dal file. Quindi spiega che tipo di array hai.

    Supponiamo che tu abbia array int[], uno per il file A e l'altro per il file B, da mettere in confronto. Il risultato è un doppio array, lo puoi trattare come un array bidimensionale di 2 righe.

    Quindi potresti fare un metodo del tipo:

    public static int[][] confronto(int[] a, int[] b)

    C'è da fare un ciclo for, pochi test e quindi c'è da istanziare la matrice del risultato. Tutte cose davvero banali, a parte una questione: la dimensione della matrice di risultato. Non sai a priori quante differenze troverai, quindi inizialmente puoi creare le righe del risultato della stessa lunghezza degli array di input e poi alla fine ne istanzi un'altra della "giusta" dimensione ricopiando solo gli elementi utili.
    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.