0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
1

Граф задан мартрицей весов.Нужно определить ребра с максимальным весом и удалить их

10.07.2010, 15:46. Показов 4846. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна помощь в решении следующей задачи Задача следующая:Граф задан мартрицей весов.Нужно определить ребра с максимальным весом и удалить их..Если я правильно понял,то мне нужно будет сначала найти максимальный элемент матрицы,а потом удалить строки и столбцы содержащие его или нет???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2010, 15:46
Ответы с готовыми решениями:

В кучке лежит Р золотых самородков с известным весом. Нужно разделить самородки на две кучки, наиболее близкими за весом
В кучке лежит Р золотых самородков с известным весом. Нужно разделить самородки на две кучки,...

Граф задан цепными списками. Построить его реберный граф
Дорогие форумчане, прошу помочь с написанием данной программы: Граф задан с помощью цепных...

Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством пересечений
Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством...

Кратчайший путь между вершинами взвешенного графа, в котором есть ребра с отрицательным весом
Здравствуйте! Пишут, что можно находить кратчайший путь между вершинами взвешенного графа, в...

12
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
10.07.2010, 16:35 2
Все элементы матрицы, имеющие наибольшее значение, помечаешь знаком отсутствия ребра. Нулем, минус единицей или плюс бесконечностью - как больше нравится.
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
10.07.2010, 16:40  [ТС] 3
Цитата Сообщение от Хохол Посмотреть сообщение
Все элементы матрицы, имеющие наибольшее значение, помечаешь знаком отсутствия ребра. Нулем, минус единицей или плюс бесконечностью - как больше нравится.
Т.е береш заменяеш максимальный элемент 0 и все чтоли О_о И типа ребро удалено будет
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
10.07.2010, 16:59 4
вообще 0 похож больше на бесплатный переход, но это уже твое дело будет как определять пути из одной вершины в другую
просто если у тебя есть красивый алгоритм, то машинная бесконечность тебе позволит не различать существующие-несуществующие переходы
ответ короче кроется в том, как обозначается у тебя в матрице отсутствие перехода
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
10.07.2010, 17:13  [ТС] 5
Цитата Сообщение от Хохол Посмотреть сообщение
Все элементы матрицы, имеющие наибольшее значение, помечаешь знаком отсутствия ребра. Нулем, минус единицей или плюс бесконечностью - как больше нравится.
Можеш написать примерный код
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
10.07.2010, 17:14 6
Я не умею
1
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
10.07.2010, 17:18  [ТС] 7
Цитата Сообщение от Хохол Посмотреть сообщение
Я не умею
Ну смотри,если я тебя правильно понял,я сначала нахожу макс.вес,потом там где был макс.вес ставлю к примеру прочерк - Как символ отсутствия ребра
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
10.07.2010, 17:23 8
Прочерк конечно не очень хорошая идея, но в общем правильно
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
10.07.2010, 17:57  [ТС] 9
Щас попробую набросать код
0
99 / 99 / 14
Регистрация: 14.06.2010
Сообщений: 284
10.07.2010, 18:03 10
Цитата Сообщение от Prosroma Посмотреть сообщение
нахождения максимального элемента матрицы
C++
1
2
3
4
5
6
7
8
9
10
int SeekMax(int **Array, int n, int m){
        int max = Array[0][0];
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            if( Array[i][j] > max )
                max = Array[i][j];
        }
    }
    return max;
}
В данной функции только не учтено условие, что если в матрице будет несколько элементов с максимальным значением.
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
10.07.2010, 18:08  [ТС] 11
Цитата Сообщение от dxdy Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
int SeekMax(int **Array, int n, int m){
        int max = Array[0][0];
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            if( Array[i][j] > max )
                max = Array[i][j];
        }
    }
    return max;
}
В данной функции только не учтено условие, что если в матрице будет несколько элементов с максимальным значением.
Можеш со всей прогой поможеш Нужно только добавить ввод матрицы,замена максимального элемента на 0 и вывод новой матрицы
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
11.07.2010, 19:31  [ТС] 12
Помогите пожалуйста с кодом
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 28
13.07.2010, 19:25  [ТС] 13
Выручайте
0
13.07.2010, 19:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2010, 19:25
Помогаю со студенческими работами здесь

Считать граф из файла (граф задан матрицей) представить его в виде списка и записать список заново в файл
помогите очень срочно надо. считать граф из файла (граф задан матрицей) представить его в виде...

Как нарисовать граф по матрице ребер и их весов?
получив необходимые исходные данные, ставится вторая задача. Как между ними нарисовать граф? В...

Записать граф и его ребра в список
Помогите считать граф из текстового файла в список. Не ориентированный граф. На входе должны быть...

Докажите, что для каждого ребра граф связанный
Помогите решить пожалуйста Дан простой связаный граф Эйлера G = (V,E) а) Докажите, что для...

Нужно удалить столбец с самым максимальным елементом всего массива
Есть матрица.. Нужно удалить столбец с самым максимальным елементом всего массива.. Как это...

Найти пассажиров, имеющих багаж с минимальным и максимальным весом
Данные о пассажирах включают фамилию пассажира, номер места и общий вес багажа Найти пассажиров...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru