не правильно считает минимальную сумму
int n, m, sum = 0, maxs = 0, mins = 999, imaxs = 0, imins = 0;
Scanner in = new Scanner(System.in);
System.out.print("Введите размерность массива n: ");
n = in.nextInt();
System.out.print("Введите размерность массива m: ");
m = in.nextInt();
Random random = new Random();
int mas[][] = new int [n][m];
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
mas[i][j] = random.nextInt(7)+1;
System.out.print(mas[i][j] + " ");
}
System.out.print("\n");
}
for(int i = 0; i < n; i++) {
sum = 0;
for(int j = 0; j < m; j++) {
sum += mas[i][j];
if (maxs < sum) {
maxs = sum;
imaxs = i + 1;
}
if (mins > sum) {
mins = sum;
imins = i + 1;
}
}
}
System.out.println("Наибольшая сумма элементов " + maxs + " в строке " + imaxs);
System.out.println("Наименьшая сумма элементов " + mins + " в строке " + imins);
}
}
почему-то выводит только первый элемент минимальной строки, а не всю сумму
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Как-то так думаю
public static void main(String args[]) {
int n, m, sum = 0, maxs = 0, mins = 999, imaxs = 0, imins = 0;
Scanner in = new Scanner(System.in);
System.out.print("Введите размерность массива n: ");
n = in.nextInt();
System.out.print("Введите размерность массива m: ");
m = in.nextInt();
Random random = new Random();
int mas[][] = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
mas[i][j] = random.nextInt(7) + 1;
System.out.print(mas[i][j] + " ");
}
System.out.print("\n");
}
for (int i = 0; i < n; i++) {
sum = 0;
for (int j = 0; j < m; j++) {
sum += mas[i][j];
}
if (sum < mins) {
mins = sum;
imins = i + 1;
}
if (maxs < sum) {
maxs = sum;
imaxs = i + 1;
}
}
System.out.println("Наибольшая сумма элементов " + maxs + " в строке " + imaxs);
System.out.println("Наименьшая сумма элементов " + mins + " в строке " + imins);
}
}