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

    matrici

    Carissimi utenti,
    sono uno studente italiano di programmazione java, in questo momento in soggiorno in germania.
    stiamo studiando le matrici, concatenazioni di array , e ho delle difficoltà nell' implementare un metodo che afferri gli elementi di una singola riga, o colonna della matrice, ricavandone la somma.

    Immagino che la cosa vada risolta con un ciclo for all'interno di un metodo che restituisca tale somma, ma da un paio di giorni ci sto su senza riuscire ad afferrare il bandolo della matassa.
    Qualcuno ha idee da proporre?
    Allego qui di seguito il codice su cui sto lavorando.
    Ringrazio in anticipo chi avrà la voglia e la gentilezza di aiutarmi.
    andreabros


    public void createMatrix1() {

    matrix = new int[3][5];

    for (int row = 0; row < matrix.length; row++) {
    for (int column = 0; column < matrix[row].length; column++) {
    int sv = matrix[0][0] = 6;
    int increment = 2;

    matrix[row][column] = sv + (increment) * (row + column);

    }
    }
    }


    questa è la matrice , alla quale viene assegnato il valore di partenza sv e il valore di incremento increment, ottenendo tale risultato
    6 8 10 12 14
    8 10 12 14 16
    10 12 14 16 18

    ora si tratterebbe di sommare singole righe, o colonne, a piacere. Ma come? :-(

  2. #2
    Utente di HTML.it L'avatar di salcam
    Registrato dal
    Dec 2005
    Messaggi
    193
    Se per sommare singole righe, o colonne, intendi sommare tutti i suoi elementi, allora puoi proseguire così:

    codice:
    int rowSelected = 3;
    int indexRow = 0;
    while(indexRow < matrix.lenght){
        if(indexRow == rowSelected){
            int indexCol = 0;
            int sumRighe = 0;
            while(indexCol < matrix[row].lenght){
                sumRighe = sumRighe + matrix[indexRow][indexCol];
            }
        }
        indexRow++;
    }
    Il codice è buttato lì. Naturalmente può essere migliorato. Ciao

  3. #3
    Ho provato ma non viene...le mie idee rimangono confuse. che casino ste matrici.cmq grazie per l'aiuto salcam.

  4. #4
    Qualcun altro ha per caso idee?
    Grazie ancora
    andreabros

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    16
    Io farei così:
    codice:
    public int sommaRiga(int row) { //la prima riga = 0
      int somma = 0;
      for (int column = 0; column < matrix[row].length;column++) {
        somma += matrix[row][column];
      }
      System.out.println("Somma riga n." + row + " = " + somma);
      return somma;
    }
    
    public int sommaColonna(int column) { //la prima colonna = 0
      int somma = 0;
      for (int row = 0; row < matrix.length; row++) {
        somma += matrix[row][column];
      }
      System.out.println("Somma colonna n." + column + " = " +somma);
      return somma;
    }
    Naturalmente si può migliorare, per esempio controllando che i
    parametri passati non sforino la dimensione dell'array.

  6. #6
    Grandissimo Tigraz!
    Funziona alla grande.
    Ci sarei potuto arrivare da solo, ma certe volte Java ti sembra più difficile di quello che è in realtà...
    Grazie ancora.
    Alla prossima

    andreabros

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.