java Как узнать в каком столбце матрицы сумма элементов(по модулю) максимальная
Сейчас программа уже считает сумму элементов в каждом столбце матрицы.Проблема именно с тем как сравнить теперь эти суммы.
import java.util.Scanner;
public class Transpose {
public static void main (String[] args) throws java.lang.Exception
{Scanner scanner = new Scanner(System.in);
int [][] mas = new int [3][3];
for(int i =0; i<mas.length; i++){
for(int j =0; j<mas[i].length; j++){
mas[i][j] = (int)(Math.random()*9-1);
System.out.print(mas[i][j]+" ");
}
System.out.println();
}
int max = mas[0][0];
int min = mas[0][0];
int value = 0;
int maxsum=0;
for(int i =0; i<mas[0].length; i++){
for(int j =0; j<mas.length; j++) {
if(max < mas[j][i]){
max=mas[j][i];
}
if(min > mas[j][i]){
min=mas[j][i];
}
value+=mas[j][i];
}
System.out.println("Сумма элементов столбца " + (i+1) + ": " + value);
max = min = value = 0;
}
}}
Ответы (1 шт):
Автор решения: beartree
→ Ссылка
import java.util.Scanner;
public class Transpose {
public static void main(String[] args) throws java.lang.Exception {
Scanner scanner = new Scanner(System.in);
int size = 3;
int[][] mas = new int[size][size];
for (int i = 0; i < mas.length; i++) {
for (int j = 0; j < mas[i].length; j++) {
mas[i][j] = (int) (Math.random() * 100 - 50);
System.out.print(mas[i][j] + " ");
}
System.out.println();
}
int[] sums = new int[size];
for (int i = 0; i < mas.length; i++) {
for (int j = 0; j < mas[i].length; j++) {
int elem_module = Math.abs(mas[j][i]);
sums[i] += elem_module;
}
}
for (int i = 0; i < sums.length; i++) {
System.out.println("Сумма элементов столбца " + (i + 1) + " : " + sums[i]);
}
int max = 0;
for (int i = 0; i < sums.length; i++) {
if (sums[i] > max) max = sums[i];
}
System.out.println("MAX: " + max);
}}