Visualizzazione dei risultati da 1 a 9 su 9

Discussione: matrici [n][m]

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    108

    matrici [n][m]

    L'esercizio è quello di fare la somma di 2 matrici però che prendono i valori da un file, vi posto subito il codice che ho prodotto
    codice:
    File f = new File("input.txt");
    FileReader fr = new FileReader(f);
    BufferedReader br = new BufferedReader(fr);
    String s = " ";
    s = br.readLine();
    		
    ArrayList<Integer> lista = new ArrayList<Integer>();
    
    while(s != null) {
    	StringTokenizer st = new StringTokenizer(s);
    	while(st.hasMoreTokens()){
    	String a = st.nextToken();
    	StringTokenizer st2 = new StringTokenizer(a, " ");
    	String b = st2.nextToken();
          	int x = Integer.parseInt(b);
    	lista.add(x);
    	}
        	s = br.readLine();
    }
        		 	
    Integer[] array = new Integer[lista.size()];
    Integer[] arrayLista = lista.toArray(array);
    Il mio approccio è stato questo:
    ho letto dal file input.txt i caratteri ed ho creato un ArrayList cono tutti gli interi letti ed ho trasformato la lista in un array. Avevo pensato di prelevare ogni elemento dell'array e creare le due matrici per poi sommarle. E' l'approccio giusto o c'è qualcosa di migliore? Secondo me ci sarebbe ma non riesco a pensarla. Però mi sono fermato e non riesco a crear le metrici.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    posta anche un esempio di input.txt
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    108
    scusa hai ragione

    codice:
    10 -20 3 0
    15 30 27 1
    -3 6 5 1
    
    -10 25 7 -1
    20 -15 -7 1
    -3 20 -5 1

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    beh in questo caso specifico alla fine non passare per le strutture dinamiche avrebbe più senso (a mio parere) anche se usare array di array è la cosa più brutta che possa esistere.
    Beh quale è effettivametne il problema? Il programma fa quel che deve? se si bon, abbiamo finito, se no quale è il problema?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    108
    Risolto...vi posto il codice da aggiungere al mio precedente
    codice:
    int r = 0, c = 0;
    for(int z=0;z<arrayLista.length;z++){
        	if(r<3)
            for(int j=0;j<matA[0].length;j++){
            	matA[r][j] = arrayLista[c];
            	c++;
            }
           	r++;      	
    }
            
    int r1 = 0, c1 = arrayLista.length/2;
    for(int z=arrayLista.length;z>=0;z++){
         	if(r1<3)
            for(int j=0;j<matB[0].length;j++){
            	matB[r1][j] = arrayLista[c1];
            	c1++;
            }
          	r1++;      	
    }
            
    int[][] somma = new int [matA.length][matA[0].length];
    	
    for (int i=0; i<matA.length; i++)
         for (int j=0; j<matA[0].length; j++) 
             somma[i][j] = matA[i][j] + matB[i][j];
        
    for (int i=0; i<somma.length; i++) {       
         for (int j=0; j<somma[0].length; j++)  
              System.out.print(somma[i][j]+" "); 
              System.out.println();              
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    108
    scusate manca questo
    codice:
    int[][] matA = new int[3][4]; 		
    int[][] matB = new int[3][4];

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da GianniMal
    Risolto...vi posto il codice da aggiungere al mio precedente
    io ancora non ho capito il tuo problema

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    108
    il mio problema era che dato un array di interi (presi dal file di testo) dovevo determinare, popolare 2 matrici e fare la somma.

  9. #9
    Originariamente inviato da valia
    beh in questo caso specifico alla fine non passare per le strutture dinamiche avrebbe più senso (a mio parere)
    Quoto. Potrebbe crearsi una classe Matrice che quindi gestisce matrici "dinamiche".

    Originariamente inviato da valia
    usare array di array è la cosa più brutta che possa esistere.
    In questo caso si, perchè deve ricorrere a riallocazioni ripetute.

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