DOMANDA JAVA..SOMMARE gli elementi delle righe e colonne di un array??

Bruno4000

Nuovo Utente
96
0
Salve a tutti,
sto da poco studiando gli array e dovrei risolvere un problema:
inseriti gli elementi in un array bidimensionale,stampare la somma degli elementi di ogni riga e di ogni colonna e stampare la somma totale degli elementi delle righe e la somma totale degli elementi delle colonne.
Fino adesso ho sono riuscito ad inserire gli elementi ma non riesco a fare la somma
Grazie :)

import java.util.Scanner;
class problema
{
public static void main (String args[])
{
int mat1[][] = new int [4][4];
int mat2[][] = new int [4][4];
Scanner in= new Scanner (System.in);
int riga;
int colonna;


//riempimento matrice
for (riga=0; riga<4; riga++)
{
for(colonna=0;colonna<4;colonna++)
{
System.out.print("Inserisci elemento"+" ");
mat1[riga][colonna]=in.nextInt();
}
}


return;
}
}
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,853
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
For annidati. Ci sono diverse strade...
Puoi anche sommare negli stessi cicli della lettura, dipende da come devi/vuoi svolgerlo.
 

Bruno4000

Nuovo Utente
96
0
For annidati. Ci sono diverse strade...
Puoi anche sommare negli stessi cicli della lettura, dipende da come devi/vuoi svolgerlo.
Ciao,grazie della risposta
Ho capito come fare teoricamente,ma non riesco a metterlo in pratica,non ho capito come scrivere praticamente quello che riguarda la somma.
Per sommare tutti gli elementi ho fatto somma = somma + mat1[riga][colonna]; e funziona, ma non riesco a capire come sommare gli elementi della prima riga,della seconda ec.. e far stampare i risultati..ho provato con somma = somma + mat1[riga][0]; ma non va :(
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,853
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
La somma di una riga la ottieni lasciando invariato l'indice della riga, e muovendo quello della colonna. Per la colonna è l'opposto: lasci invariata la colonna e muovi la riga.
Questo ad esempio è per la somma di una riga, con risultato mostrato a video:
Codice:
    for(int i=0; i<mat1.length; i++) {
      int sommaRiga = 0;
      for(int j=0; j<mat1[0].length; j++) {
        sommaRiga += mat1[i][j];
      }
      System.out.println("Riga "+i+": "+sommaRiga);
    }

Se non vuoi stamparlo subito puoi utilizzare un array.
mat1[0].length prende il numero di colonne della matrice (nel tuo caso si puo' utilizzare mat1.length, dato che è una NxN).

Non l'ho provato ma ad occhio dovrebbe essere corretto.
 

Bruno4000

Nuovo Utente
96
0
La somma di una riga la ottieni lasciando invariato l'indice della riga, e muovendo quello della colonna. Per la colonna è l'opposto: lasci invariata la colonna e muovi la riga.
Questo ad esempio è per la somma di una riga, con risultato mostrato a video:
Codice:
    for(int i=0; i<mat1.length; i++) {
      int sommaRiga = 0;
      for(int j=0; j<mat1[0].length; j++) {
        sommaRiga += mat1[i][j];
      }
      System.out.println("Riga "+i+": "+sommaRiga);
    }

Se non vuoi stamparlo subito puoi utilizzare un array.
mat1[0].length prende il numero di colonne della matrice (nel tuo caso si puo' utilizzare mat1.length, dato che è una NxN).

Non l'ho provato ma ad occhio dovrebbe essere corretto.
Grazie mille :D
Adesso funziona anche per le colonne :D
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili