- Как суммировать строки и столбцы двумерного массива индивидуально с помощью Java?
- Сумма элементов в двумерном массиве
- JAVA, как бы я вычислил сумму каждой строки в двумерном массиве?
- Двумерный массив. Определить сумму строк и столбцов
- Решение
- Алгоритм нахождения суммы элементов двумерного массива по строкам в Java
- Описание алгоритма
- Код реализации
- Вывод
Как суммировать строки и столбцы двумерного массива индивидуально с помощью Java?
Вот проблема, над которой я работаю: Напишите программу, которая читает матрицу 3 на 4, и отображает сумму каждого столбца и каждой строки отдельно. Вот пример: введите матрицу размером 3 на 4:
1.5 2 3 4 5.5 6 7 8 9.5 1 3 1 Sum of the elements at column 0 is 16.5 Sum of the elements at column 1 is 9.0 Sum of the elements at column 2 is 13.0 Sum of the elements at column 3 is 13.0 Sum of the elements at Row 0 is: 10.5 Sum of the elements at Row 0 is: 26.5 Sum of the elements at Row 0 is: 14.5
package multidimensionalarrays; public class MultidimensionalArrays < public static void main(String[] args) < double sumOfRow = 0; double[][] matrix = new double[3][4]; java.util.Scanner input = new java.util.Scanner(System.in); //Scanner System.out.println("Enter a 3 by 4 matrix row by row: "); //Prompt user to enter matrix numbers for (int row = 0; row < matrix.length; row++) < for (int col = 0; col < matrix[0].length; col++) < matrix[row][col] = input.nextDouble(); >> double[] sumOfCol =new double[matrix[0].length]; for (int i = 0; i < matrix.length; i++) < //row for (int j = 0; j < matrix[i].length; j++) < //column sumOfRow += matrix[i][j]; sumOfCol[j] += matrix[i][j]; >System.out.println("Sum of the elements at row " + row + " is: " + sumOfRow); > System.out.println("Sum of the elements at column " + col + " is: " + sumOfCol); > >
Моя проблема заключается в том, что, когда он доходит до конца, чтобы напечатать суммы для столбцов и строк, не признавая row или col переменных. Я играю с ним и переключаю вещи, возможно, на несколько часов, и я просто не могу понять, кто может помочь мне в том, что я делаю неправильно? Кроме того, я не знаю, правильно ли я делаю колонку с суммированием?
Сумма элементов в двумерном массиве
Добрый день, вот дали задачку на массивы, а я только с циклами дай боже разобрался, а уже пора сдавать((( не могли бы вы мне помочь?
Дан двумерный массив целых чисел. Найти сумму элементов:
А) всего массива,
Б) в каждой строке,
В) в каждом столбце,
Г) в двух главных диагоналях.
Вывод минимальных элементов в двумерном массиве
Здравствуйте, вот код программы package lab6; import java.util.Random; import.
Сумма элементов в двумерном массиве.
Дан двумерный массив. Найти сумму элементов массива, стоящих на четных местах. Массив надо вводить.
Сумма элементов по строкам в двумерном массиве.
Программа которая вводит по строкам двумерный массив, и вычисляет сумму его элементов по строкам.
Сумма элементов по строкам в двумерном массиве
Нужна помощь с с++ только начал работать, для примера сделайте программу. Напишите программу, в.
А размер массива самому придумать надо?
Добавлено через 12 минут
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
public class MassiveHomeWork { public void printMatrix(int a[][]) { int x = a.length; for (int i = 0; i x; i++) { for (int j = 0; j x; j++) { System.out.print(a[i][j] + " "); } System.out.println(); } } public int summMass(int a[][]){ int x=a.length; int summ=0; for (int i=0;ix;i++){ for(int j=0;jx;j++){ summ+=a[i][j]; } } System.out.println("Общая сумма всех элементова массива равна: "+summ); return summ; } public void summString(int a[][]){ int x=a.length; int Str1=0,Str2=0,Str3=0; for (int i=0;ix;i++){ Str1+=a[0][i]; } System.out.println("Сумма елементов первой строки равна: " +Str1); for (int i=0;ix;i++){ Str2+=a[1][i]; } System.out.println("Сумма елементов второй строки равна: " +Str2); for (int i=0;ix;i++){ Str3+=a[2][i]; } System.out.println("Сумма елементов третьей строки равна: " +Str3); } public void summKolon(int a[][]){ int x=a.length; int Str1=0,Str2=0,Str3=0; for (int i=0;ix;i++){ Str1+=a[i][0]; } System.out.println("Сумма елементов первого столбца равна: " +Str1); for (int i=0;ix;i++){ Str2+=a[i][1]; } System.out.println("Сумма елементов второго столбца равна: " +Str2); for (int i=0;ix;i++){ Str3+=a[i][2]; } System.out.println("Сумма елементов третьего столбца равна: " +Str3); } public void summDiag(int a[][]){ int x=a.length; int Str1=0,Str2=0; Str1+=a[0][0]+a[1][1]+a[2][2]; System.out.println("Сумма елементов 1 диагонали равна: " +Str1); Str2+=a[0][2]+a[1][1]+a[2][0]; System.out.println("Сумма елементов 2 диагонали равна: " +Str2); } public static void main(String args[]){ int a[][]=new int[3][3]; a[0][1]=1; a[1][0]=2; a[0][0]=3; a[1][1]=4; a[0][2]=5; a[1][2]=6; a[2][2]=7; a[2][1]=8; a[2][0]=9; MassiveHomeWork mhw= new MassiveHomeWork(); mhw.printMatrix(a); mhw.summMass(a); mhw.summString(a); mhw.summKolon(a); mhw.summDiag(a); } }
Сделал с цифрами для наглядности, все это можно переделать для масиива типа
int n;
int a[][]=new int[n][n];
Добавлено через 38 секунд
вывод:
3 1 5
2 4 6
9 8 7
Общая сумма всех элементова массива равна: 45
Сумма елементов первой строки равна: 9
Сумма елементов второй строки равна: 12
Сумма елементов третьей строки равна: 24
Сумма елементов первого столбца равна: 14
Сумма елементов второго столбца равна: 13
Сумма елементов третьего столбца равна: 18
Сумма елементов 1 диагонали равна: 14
Сумма елементов 2 диагонали равна: 18
JAVA, как бы я вычислил сумму каждой строки в двумерном массиве?
Я пишу код, чтобы вычислить общее количество каждой строки в массиве.
public static int sum(int[][] array) < int total = 0; for (int i = 0; i < array.length; i++) < for (int k = 0; k < array[i].length; k++) < total = total + array[i][k]; >> return total; >
Вышеприведенный код состоит в том, чтобы выработать общую сумму для всех чисел в двумерном массиве, однако я пытаюсь разобраться в сумме для каждой отдельной строки для массива.
public static int[] rowSums(int[][] array)
Я очень не уверен в том, что делать, чтобы код работал над 2D-массивом для каждой строки.
Если вы используете Java 8, вы можете сделать это следующим образом:
int[] ar = Arrays.stream(new int[][],>) // source .mapToInt(arr -> IntStream.of(arr).sum()) // sum inner array .toArray(); // back to int[] System.out.println(Arrays.toString(ar)); // print the array
int[][] arr = ,>; // create a array that stores the total of each inner array int[] total = new int[arr.length]; // first loop for outer array for (int i = 0; i < arr.length; i++) < // loop for inner array for (int k = 0; k < arr[i].length; k++) < // since default value of total[i] is 0, we can directly use += total[i] += arr[i][k]; >> // print the array System.out.println(Arrays.toString(total));
Вы имели в виду что-то вроде этого:
public static int[] sum(int[][] array) < //create an array of size array.length int[] result = new int[array.length]; int total; //Loop over the first dimension for (int i = 0; i < array.length; i++) < total = 0;//Make sure to re-initialize the total in each iteration //For each row calculate the sum and store it in total for (int k = 0; k < array[i].length; k++) < total += array[i][k]; >//When you finish put the result of each row in result[i] result[i] = total; > return result; >
System.out.println( Arrays.toString(sum(new int[][], , >)) );
На основе ответа @YFC_L, но используя расширенный цикл:
public static int[] sum2(int[][] array) < //create an array of size based of how many rows the array has int[] result = new int[array.length]; int rowIndex = 0; //Loop over each row for (int[] row : array) < int total = 0; //Calculate the sum of the row for (int n : row) < total += n; >//Store the sum in the result result[rowIndex++] = total; > return result; >
Кроме того, этот метод может быть проверен exatelly таким же образом:
public static void main(String[] args) < System.out.println( Arrays.toString(sum2(new int[][], , >)) ); >
и, конечно, результат тот же:
public static List sum(int[][] array) < Listtotal = new ArrayList<>(); for (int i = 0; i < array.length; i++) < int sum = 0; for (int k = 0; k < array[i].length; k++) < sum = sum + array[i][k]; >total.add(sum); > return total; >
Если вам нужно использовать int [] после получения результата,
List total = sum(ar); Integer[] result = total.toArray(new Integer[0]);
Используйте объект результата для дальнейшего использования.
Попробуйте это с небольшими изменениями с кодом
public static int[] sum(int[][] array) < ListrowTotal = new ArrayList<>(); int total = 0; for (int i = 0; i < array.length; i++) < for (int k = 0; k < array[i].length; k++) < total = total + array[i][k]; >rowTotal.add(total); total = 0; > return rowTotal.stream().mapToInt(i->i).toArray(); >
Двумерный массив. Определить сумму строк и столбцов
Дан двумерный массив. Определить:
а) сумму всех элементов третьей строки массива;
б) сумму всех элементов s-го столбца массива.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import java.util.Random; import java.util.Scanner; public class kekass { public static void main (String[] args) { Scanner in=new Scanner(System.in); System.out.println("Введите кол-во строк массива: "); int n =in.nextInt(); System.out.println("Введите кол-во "); int m = in.nextInt(); int [][] mas=new int[n][m]; Random rnd=new Random(); int a=0; System.out.println("Ваш массив: "); for (int i=0;imas.length;i++) { System.out.println(); for (int j = 0; j mas.length; j++) { mas[i][j] = rnd.nextInt(10); System.out.print(mas[i][j] + " "); if (i==3) a=a+mas[3][j]; } } System.out.println(a); }
Дан двумерный массив размером n-строк, m-столбцов
Дан двумерный массив размером n-строк, m-столбцов. Найти наибольший элемент и указать, в какой.
Двумерный массив, поиск макс элементов и удаление строк и столбцов
Имеется двумерный массив arr . Необходимо сгенерировать в него числа от -n до n. Найти максимальные.
Двумерный массив с разворотом строк
Доброго времени суток, Недавно начал изучать Java, дали задание: Создать двумерный массив с.
Совет по решению всех задачь — «Разделяй и властвуй».
Теперь подумай над тем что ты написал в коде
1) ты просишь ввести два значения кол-во строк и столбцов, но в двух циклах ты используешь «mas.length» и если твоя матрица не квадратная, то все приплыли, попробуй сам, введи 1 и 5
2) разбей все на методы(функции): создание и наполнение массива, вывод массива на экран, ну и два метода для подсчета элементов строки и столбца
За тебя никто код писать не будет, не ленись переписывать, и покажи чего ты добился за Это время, я могу указать ошибки:
1) for (int i=0;i
перепеши свой код, и покажи что получилось, там посмотрим чем тебе можно еще помочь.
Сообщение было отмечено Yagodniy_Mors как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import java.util.Scanner; import java.util.Random; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Введите кол-во строк массива: "); int n = in.nextInt(); System.out.println("Введите кол-во "); int m = in.nextInt(); int[][] mas = new int[n][m]; Random rnd = new Random(); int a = 0; int b = 0; System.out.println("Ваш массив: "); for (int i = 0; i n; i++) { System.out.println(); for (int j = 0; j m; j++) { mas[i][j] = rnd.nextInt(10); System.out.print(mas[i][j] + " "); if (i == 2) a = a + mas[2][j]; } } System.out.println("= "+a); for (int j=0; jm; j++) { for (int i=0; in; i++) { b = b + mas[i][j]; } System.out.print(b+" "); b=0; } } }
Алгоритм нахождения суммы элементов двумерного массива по строкам в Java
В программировании задача по нахождению суммы элементов двумерного массива – это одна из базовых и широко распространенных задач. В Java реализация данного алгоритма может быть выполнена несколькими способами. Одним из них является алгоритм нахождения суммы элементов массива по строкам.
Описание алгоритма
Алгоритм нахождения суммы элементов двумерного массива по строкам в Java заключается в следующих шагах:
- Инициализация двумерного массива.
- Создание цикла для прохода по строкам массива.
- Перебор элементов каждой строки и их суммирование.
- Вывод суммы элементов каждой строки.
Код реализации
Рассмотрим пример кода реализации указанного алгоритма на языке Java:
public class Main < public static void main(String[] args) < int[][] arr = < , , >; int sum = 0; for (int i = 0; i < arr.length; i++) < for (int j = 0; j < arr[i].length; j++) < sum += arr[i][j]; >System.out.println("Сумма элементов " + (i + 1) + "-й строки: " + sum); sum = 0; > > >
В данном примере находим сумму элементов каждой строки трехмерного массива. После нахождения суммы элементов каждой строки, выводим ее на экран.
Вывод
Алгоритм нахождения суммы элементов двумерного массива по строкам в Java является одним из наиболее распространенных и полезных алгоритмов в программировании. Он позволяет быстро и удобно находить суммы элементов по каждой строке массива, что может быть полезно при решении различных задач работы с массивами.