Как получить минимальное значение строки матрицы без повторного получения того же значения - PullRequest
0 голосов
/ 22 сентября 2019

Мне нужна помощь, чтобы получить минимальное значение строки и вывести его на экран, но вот мой вопрос.Если значение matrix[i][j] совпадает с matrix[j][i], я не хочу повторяться и хочу найти следующее минимальное значение.

У меня есть график.Я рассчитал кратчайший путь для каждой точки.Например, точка [0][1] имеет то же расстояние, что и [1][0], потому что они должны быть связаны.Теперь настало время суммировать все кратчайшие значения (кроме 0) и дать ему стоимость.На рисунке я получил пример матрицы.

example matrix

Мне нужно установить соединение таким образом.1-5, 2-5, 3-5, 5-6, 6-4 ... это будет самая низкая стоимость для подключения этих городов.Моя проблема в том, что мне нужно найти способ справиться, если точка 4-6 связана, мне не нужно суммировать 6-4, потому что они одинаковы.

void smallestInRow() 
{ 
    cout << " { "; 
    for (int i = 0; i < numOfVertices; i++) { 

        // initialize the minimum element 
        // as first element 
        int minm = 999999999; 

        for (int j = 1; j < numOfVertices; j++) { 

            // check if any element is smaller 
            // than the minimum element of the row  
            // and replace it 
            if (matrix[i][j] < minm && matrix[i][j] != 0) 
                minm = matrix[i][j]; 
        } 

        // print the smallest element of the row 
        cout << minm << ", "; 
    } 
    cout << "}"; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...