Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Eliceyka
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 88
#1

Для заданной вершины p найти маршруты в другие города, хотя бы один маршрут для каждого города - C++

19.03.2013, 19:02. Просмотров 437. Ответов 1
Метки нет (Все метки)

Добрый день мои дорогие и многоуважаемые форумчане. Прошу вашей помощи: Вот дали задание в университете:
Для заданной вершины p найти маршруты в другие города, хотя бы один маршрут для каждого города.
Что то нарыл, но не то вовсе. Помогите. пожалуйста кто может. Вот код который был дан в виде исходника:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
 
int a[5][5] = { 0, 0, 1, 0, 1,
            0, 1, 0, 0, 1,
    0, 0, 0, 0, 1,
    0, 1, 0, 0, 0,
    0, 0, 0, 0, 0 };
int c[5];   // цвета вершин
 
int rec( int p, int q, int n )
{
   int i, s;
   if( c[q] ) return 1;
   {
      c[p] = 1;
      for(i = 0; i < n; i++)
         if( a[p][i] ) s = s || rec( i, q, n );
   }        // раскрашиваются концы стрелок, выходящих из p
   return s;
}
 
main ( )
{
   int i;
   for(i = 0; i < 5; i++) c[i] = 0; // не раскрашены
   if( rec( 0, 3, 5 ) ) puts(“\n Существует путь из 0 в 3);
   else puts(“\n Нет пути”); }
Больше обратиться некому Help please!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 19:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для заданной вершины p найти маршруты в другие города, хотя бы один маршрут для каждого города (C++):

Найти количество всевозможных маршрутов от города до города - C++
Имеется n городов пронумерованных с 1 до n и m соединяющих дорог. Найти количество всевозможных маршрутов с города с номером start до...

Игра в города для бота - C++
Пытаюсь написать код игры в города для своего бота, только уже много способов пробовал, не выходит. Простую версию игры(где просто...

Проверка корректности введенного города игра "Города" - C++
Здравствуйте, пишу программку &quot;Города&quot;, т.е. пользователь называет какой-нибудь город, допустим, &quot;Омск&quot;. Компьютер считывает последнюю...

Увеличить численность каждого города на 5% (количество жителей-всегда целое число). - C++
В типизированном файле записаны названия городов и их численность.Увеличить численность каждого города на 5% (количество жителей-всегда...

Для каждого числа заданной последовательности найти количество цифр 5 - C++
Добрый день! Прошу помощи в написании пограммы, ибо в c++ совсем не бум бум :( Задача такова: Вводится последовательность...

В заданной матрице найти количество строк, содержащих хотя бы один нулевой элемент - C++
Дана целочисленная прямоугольная матрица. Определить: • количество строк, содержащих хотя бы один нулевой элемент; • номер столбца, в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mock
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 9
13.05.2014, 08:27 #2
сама не шарю, но попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <conio.h>
 
//поиск путей из вершины s в вершины графа
int n;
int c[6];                  // номера предшествующих вершин
int a[6][6]={ 0,1,0,0,0,1, // матрица смежности
          1,0,0,0,0,1,
          0,0,0,1,1,0,
          0,0,1,0,1,0,
          0,0,0,1,0,0,
          1,1,0,0,1,0 };
 
void rec(int p)
{
   int i;
   for (i=0; i<n;i++)
      if ( (a[p][i]||a[i][p]) && (c[i]<0) )
      {
         c[i]=p; rec(i);
      }
}
 
void path(int s,int v)
{
   if(v==s) { printf(" %d ",s); return;}
   if (c[v]>=0)
   {
      path(s,c[v]); printf(" %d ",v);
   }
}
 
 
void main()
{
   int i;
   int s=4;
   n=sizeof(c)/sizeof(c[0]);
   
   clrscr();
   for (i=0; i<n;i++) c[i]=-1;
   c[s]=s;
   
   rec(s);
   for (i=0; i<n;i++)
   {
      printf("\n путь из %d в %d состоит из вершин", s,i);
      path(s,i);
   }
   getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 08:27
Привет! Вот еще темы с ответами:

Структура "АТС": вывести для заданного города общее время разговоров - C++
На междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона в этом...

В заданной матрице найти номер первой из строк, содержащей хотя бы один отрицательный элемент - C++
В двумерном массиве mass, заполненном случайными числами от -5 до 12, найти номер первой из строк, содержащей хотя бы один отрицательный...

Найти сумму всех младших разрядов для каждого элемента заданной последовательности - C++
Помогите пожалуйста решить задачу, есть решение но не правильно решает, вроде как можно через for сделать, но что то меня тупит. Заранее...

Найти все вершины графа, к которым от заданной вершины можно добраться по пути не длиннее А - C++
Найти все вершины графа, к которым от заданной вершины можно добраться по пути не длиннее А. Никаких наработок нет, к сожалению, вообще...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru