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

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

Восстановить пароль Регистрация
 
ЭрнестЗакиров
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 5
17.05.2013, 21:27     Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой #1
Помогите пожалуйста в C++

Сеть авиалиний, соединяющая города, задана матрицей связности M(k,k), где Mi(j = о, если города /, j не
связаны между собой напрямую, и Mi(i = l, если города связаны. Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 21:27     Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой
Посмотрите здесь:

C++ Напечатать все пары «близнецов» из отрезка [n, 2n]
C++ Чем отличаються между собой книги Страуструпа
Напечатать все пары чисел-близнецов, не превышающих число 200 C++
Чем отличается между собой объявление, инициализация и определение? C++
C++ Напечатать все пары дружественных чисел
C++ Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n)
Существует N городов для каждой пары городов (і, j) можно построить путь C++
Определить, все ли элементы последовательности равны между собой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
17.05.2013, 22:22     Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
const int k=6;
 
int main()
{
    int arr[k][k]=
    {{0,0,1,0,0,1},
     {0,0,1,1,0,0},
     {1,1,0,0,0,0},
     {0,1,0,0,1,0},
     {0,0,0,1,0,0},
     {1,0,0,0,0,0}};
     for (int i=0;i<k;i++)
         for (int j=0;j<k-1;j++)
             if (arr[i][j]==1)
                for (int j1=j+1;j1<k;j1++)
                    if (arr[i][j1]==1 && arr[j][j1]==0)
                        std::cout<<j+1<<' '<<j1+1<<'\n';             
}
Исходя из того, что если города j и j1 связаны напрямую с городом i, но не связаны напрямую между собой, то можно считать, что города j и j1 связаны между собой одной пересадкой через город i
Yandex
Объявления
17.05.2013, 22:22     Напечатать все пары городов, связанных между собой не напрямую, но не более чем с одной пересадкой
Ответ Создать тему
Опции темы

Текущее время: 22:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru