Реализовать метод / функцию, которая выдает промежуточную сумму runningSum2DArray (массив int [] [], int dir) по строкам (слева направо или справа налево) или столбцам (сверху вниз или снизу вверх)
Входные данные для метода: двумерный массив int 4x4 и целое число (1, 2, 3 или 4 для левого, правого, вверх, вниз соответственно).
Вывод: модифицированный массив после создания бегущей строкисуммы в соответствии с направлением.
Например: если входные данные для метода такие же, как в предыдущем двумерном массиве,
10 15 30 40
15 5 8 2
20 2 4 2
1 4 5 0
и если направление равно 2 (справа), выходной массив будет напечатан как:
10 25 55 95
15 20 28 30
20 22 26 28
1 5 10 10
Теперь, реализуйте другую функцию runningSum2DArrayList (ArrayList > список, int dir), который выполняет те же функции.
Мой основной метод заключается в следующем:
import java.util.ArrayList;
import java.util.Scanner;
public class Lab3Task2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//input arrays with ";" between them
String[] temp = scanner.nextLine().split(";");
//input integers with white space between them
int[][] arr = new int[4][4];
for(int i = 0; i < 4; i++){
String[] tempA = temp[i].split("\\s");
for(int j = 0; j < 4; j++){
arr[i][j] = Integer.parseInt(tempA[j]);
}
}
//input integers with white space between them
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for(int i = 0; i < 4; i++){
String[] tempA = temp[i].split("\\s");
list.add(i, new ArrayList<Integer>());
for(int j = 0; j < 4; j++){
list.get(i).add(j, Integer.parseInt(tempA[j]));
}
}
runningSum2DArray(arr, 1);
runningSum2DArray(arr, 2);
runningSum2DArrayList(list, 3);
runningSum2DArrayList(list, 4);
scanner.close();
}
}