С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 2
1

Создание матрицы и поиск в ширину

21.01.2019, 14:50. Показов 1234. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите пожалуйста код для создания матрицы вводя кол-во вершин, ребер и названия ребер, а потом вводя две вершины из этой матрицы выводился кратчайший путь от одной вершины к другой. Спасибо!

Добавлено через 20 минут
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
#include <queue>
#include <iostream>
using namespace std;
 
int main()
{
    vector < vector<int> > g;
    int n, m, x, y, a[80][80];
    cout << "vershin: ";
    cin >> n;                  
    cout << "reber: ";
    cin>> m;                        
    for(int i=1;i<=n;i++)        
        for(int j=1;j<=n;j++)
        {
            a[i][j]=0;
        }
        cout << endl;
    cout << "nazvaniya reber: " << endl;  
    for(int i=1;i<=m;i++)        
    {
        cin >> x >> y;
        a[x][y]=1;
        a[y][x]=1;
    }
    cout << endl;
    cout << "matrica smezhnosti: " << endl;  ///вьіводим матрицу
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    };
    
     return 0;
};
Есть такой код для создания и вывода матрицы
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2019, 14:50
Ответы с готовыми решениями:

Составление кубиков, поиск в пространстве состояний, монотонный поиск в ширину [Turbo Prolog]
Помогите решить задачу с кубиками в турбо прологе с несложной визуализацией. Имеется...

Графы: поиск в ширину, поиск вершины с максимальной степенью
Дан граф. Способ представления и метод обхода равен список смежности;поиск в ширину....

Поиск вхождений и создание матрицы
Предположим есть массив чисел mas = Мне нужно пройтись по каждому элементу, и найти его следующие...

Поиск в глубину, поиск в ширину, дерево
Добрый день. Есть задача с бидонами (есть три бидона : 1ый 14 литров -заполнен молоком, 2ой 9...

3
393 / 263 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
21.01.2019, 14:59 2
Граф, я так понял неорентированный. Но циклы содержит или в условии задания прописано обратное?

Добавлено через 2 минуты
Короче, можно оригинал задания ,пожалуйста?
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 2
21.01.2019, 19:15  [ТС] 3
Граф неориентированный, больше условий нет. Всё указано выше :3
0
393 / 263 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
22.01.2019, 11:59 4
Лучший ответ Сообщение было отмечено naniko13 как решение

Решение

А,щас подумал, так что извиняюсь,затупил, все ребра одного веса, так что самый короткий путь и будет кратчайшим

Добавлено через 30 минут
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
#include <iostream>
#include <vector>
#include <queue>
 
using namespace std;
 
int main()
{
    vector<vector<int>>a;
    int from,to,n,m,k;
    cin >> n >> m;
    a.resize(n);
    for(int i = 0;i<n;++i)a[i].resize(n);
    for(int i = 0;i<m;++i){
        cin >> from >> to;
        a[from-1][to-1] = a[to-1][from-1] = 1;
    }
    cin >> k;
    for(int i = 0;i<k;++i){
        cin >> from >> to;
        --from;--to;
        queue<int>q;
        vector<int>used(n,-1);
        q.push(from);
        used[from] = 0;
        while(!q.empty()){
            int t = q.front();
            q.pop();
            for(int i = 0;i<n;++i)if(a[t][i]){
                if(used[i] == -1){
                    used[i] = t;
                    q.push(i);
                }
            }
        }
        vector<int>tops;
        for(int i = to;;){
            tops.push_back(i);
            if(i == from)break;
            i = used[i];
        }
        for(int i = tops.size()-1;i>=0;--i)cout << tops[i]+1 << ' ';
        cout << "\n";
    }
     return 0;
}
https://ideone.com/5S1Hzd
1
22.01.2019, 11:59
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2019, 11:59
Помогаю со студенческими работами здесь

Создание матрицы, заполнение над главной диагональю и поиск суммы
Доброго времени суток! У меня есть задачка по информатике. Текст примерно такой (оригинал в...

Поиск в ширину
Пытаюсь запустить следующий код из Братко: после(a,b). после(b,d). после(d,h). после(b,e)....

поиск в ширину
Помогите объяснить это по русски каждую строчку что тут написнао . #include &lt;cstdio&gt; #include...

поиск в ширину
Меня интересует строка 23. -&gt;second что это такое? Как называется? Эта штука переключает ключи?...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru