Как перебрать впадину и впадину в двумерном массиве? - PullRequest
1 голос
/ 07 апреля 2019

У меня есть 2D-массив, и я хочу найти минимальное значение для каждой строки и столбца.Но, например: допустим, у меня есть симметричная матрица 5x5, такая как

int matrix [ ][ ] = 
{ { 0, 8, 3, 7, 10 },
{ 8, 0, 5, 9, 4 },
{ 3, 5, 0, 6, 7 },
{ 7, 9, 6, 0, 9 },
{ 10, 4, 7, 9, 0 } }

. Если я начинаю со строки 2, мне нужно пройти по 8,0,5,9,4, и я должен напечатать число 4, потому что егоминимальное значение (я не рассматриваю 0), тогда я должен начать перебирать столбец именно там, где я оставил или закончил.Поэтому я должен начать итерацию снова, но начиная с index [4], и col будет 10, 4, 7, 9, 0, а значение min col будет равно 7 (без учета предыдущего минимального значения, которое было 4 и 0)и так далее ...

Я думал, что мог бы использовать другое вложенное, для которого новый индекс рассматривался как начальная точка цикла, но потом я не уверен, как вернуться к итерации по строкам

int menor = matriz[1][0];
int i, j, indice = 0;

for (i = 0; i < matriz.length; i++) {

    if (menor > matriz[1][i] && matriz[1][i] != 0 || menor == 0) {
        menor = matriz[1][i];
        indice = i;
    }
    System.out.print("Elemento ubicado en " + i + " : ");
    System.out.println(matriz[1][i] + " ");

}
System.out.println();
System.out.println("Elemento menor es " + menor + " el cual esta ubicado: " + indice);

Мой окончательный результат должен быть примерно 4, 7, 3, 7, 9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...