![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Вот я содрал с учебника программу, это программа, которая представляет граф в виде списка смежности. граф задан списком рёбер, который находится в файле.
После набора кода ошибок нету, файл читается, но прога не работает. Может я в файле просто что-то не то набираю, ибо неособо понял, что мы должны задать в файле. Подскажите, пожалуйста. Я функции input в с++ никогда не видел, может это для борланда, хотя компилится вроде. объясните как этот input работает...типа также как "cin>>"? И что значит input.eof() в 17-й строке?
Это сообщение отредактировал(а) ДобренькийПапаша - 19.10.2006, 18:04 -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
и в каком учебнике такое пишут?
Возможно стоит для начала получить представление о списке смежности, к примеру поискать. p.s.:Неужто в книжке не описан формат входного файла? -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
книжка называется "С++ освой на примерах" автор:Максим Динман. Когда читал в магазине понравилась, тут вначале предлагется борланд С++, но я просто подумал, что мой Visual C++ 6.0 тоже всё это держит.
Да, формат входного файла не описан, а разве когда прописываем while(!input.eof()) будет читаться более одной строки во входном файле, мне кажется прочитается тока первая строка. Не так давно прогал что-то с входными файлами, так там целая морока с getline, построчное считывание ну и всё такое, здесь же я ничего такого не увидел, чем был удивлён. -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Rockie |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
ну что сказать.. почитай про работу с файлами в C++. Ну да.
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||||
|
|||||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Читать читал, причём всё раньше у меня работало. Что такое матрица смежности и список смежности тоже прекрасно понимаю. Тут в комментах написано, что типа в проге считывается количество вершин в графе, а вот интересно как прога поймёт где рёбра(пары чисел) графа. Чёта тут ошибочка у них какая-то. Ну по крайней мере автору явно надо было позаботиться о том, чтобы привести пример входного файла!
Вот граф представленный в виде матрицы смежности: 012345 0 011001 1 100000 2 100100 3 001010 4 000101 5 100010 там где рёбра(пары чисел, то в матрице единица, как видно она симметричная) список смежности в этом случае: 0125 10 203 324 435 504 в списке смежности нет симметрии, так проще. тут нет (1,0; 0,1), ибо и так ясно, что рёбра попарные в данном случае. Вот. -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Да где видно, что она симметричная? Симметричной она будет лишь при условии что все дуги - это петли. imho список смежности описывает ориентированный граф и содержит столько строк, сколько вершин и выглядит к примеру так: 0 1 2 3 1 0 2 0 3 3 пустое множество (-1 к примеру) Это значит что от нулевой вершины идут дуги к первой, второй и третьей, от первой - к нулевой, из 3-ей дуги не выходят. p.s.: можешь поставить сам условие и написать свою программу -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
список смежности как раз описывает неориентированные графы. В той матрицы действительно везде петли, приглядись, единичная матрица симметрична. ориентированным граф называется в том случае если связь между вершинами ОДНОНАПРАВЛЕННАЯ!
так что ты перепутал. Но суть-то не в этом, я не пойму как прогу написать Может придут попозже профи и объяснят как сделать... -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
imho трудно понять "как прогу написать", не обладая при этом минимальными теоретическим знаниями.
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
я уже сказал, что обладаю достаточными теоретическими знаниями, однако, на мой взгляд, для написания этой проги понадобится вышеизложенный код существенно расширить, для того, чтобы компиллятор мог воспринимать кол-во вершин и рёбер.
где первая строка и столбец будут числами от 1 до n а сама матрица единичной для указания рёбер, и тогда прописать это в проге. -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |