|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.09.2012, 19:34 | #1 |
Пользователь
Регистрация: 12.04.2011
Сообщений: 74
|
создание графа по матрице и поиск кратчайшего пути из одного графа в другой
Доброго времени суток.
Задали задание по матрице составить граф и написать функции 1 функция находит количество путей из графа допустим 1 в граф 6 2 функция находит кратчайший путь из графа 1 в граф 5 из какого графа будет искатся путь вводит пользователь, так же пользователь заполняет матрицу по которой строится граф. У меня ума хватило только на что чтоб задавалась размерность матрицы пользователем, чтоб блокировалась основная диагональ и заполнялась нулями и если связь была с графом 1-5 то и синхронно при нажатии кнопки создание графа появлялась в матрице единица отоброжающая что есть связь между 5-1 тоесть синхронно. Может кто делал такое задание остались материалы? Если да киньте пожалуйста срочно нужно. Ну или подскажите как доделать? я не могу понять как программно создать граф его узлы и от одного графа перемещатся к другому. файл я прикрепил чтоб можно было на компе посмотреть что у меня. ну и код выставляю void __fastcall TForm1::Button1Click(TObject *Sender) { A=StrToInt(Edit1->Text); StringGrid1->RowCount=A; StringGrid1->ColCount=A; StringGrid1->Col = 1; StringGrid1->Row = 0; for (int i=0; i < A; i++) { StringGrid1->Rows[i]->Clear(); StringGrid1->Cols[i]->Clear(); StringGrid1->Cells[i][i]=0; } } ///////////////////////////////////////////////// void __fastcall TForm1::StringGrid1SelectCell( TObject *Sender, int ACol, int ARow, bool &CanSelect) { if (StringGrid1->Cells[ACol][ARow]==0) // будет под запретом ячейки главной диагонали { CanSelect = false; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)//ставит 1 в симметрично расположенную ячейку { for (int Col=0; Col < A; Col++) for (int Row=0;Row<A;Row++){ if (StringGrid1->Cells[Col][Row]==1 ) { StringGrid1->Cells[Row][Col]=1; } } } |
06.09.2012, 07:32 | #2 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
есть отличная книга с алгоритмами. написал по ней кучу. приду домой, скажу как называется, если интересно
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти все пути, соединяющие две вершины ориентированного графа. | dasterse | Помощь студентам | 0 | 13.05.2012 18:38 |
Определение центра графа заданной матрице инцидентности | emsisem | Помощь студентам | 3 | 27.10.2011 13:19 |
Определение центра графа заданной матрице инцидентности | emsisem | Общие вопросы C/C++ | 2 | 27.10.2011 13:09 |
Определение центра графа заданной матрице инцидентности | emsisem | C++ Builder | 0 | 27.10.2011 12:48 |
по заданной матрице смежности простого графа построить каркас этого графа с использованием поиска вширь | d1m2o3n4 | Помощь студентам | 0 | 22.06.2011 22:43 |