не правильно считает минимальную сумму

        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);
  }
}
→ Ссылка