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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 46, средняя оценка - 4.76
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
#1

Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер - C++

04.02.2014, 13:54. Просмотров 8322. Ответов 22
Метки нет (Все метки)

Всем доброго времени суток!!!
Передо мной стоит задача: написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер, а также должен быть нарисован сам граф.
Пользователь должен вводить:
1) кол-во вершин (например: 1, 2, 3, 4);
2) кол-во ребер (например: 4);
3) название самих рёбер (например: 1 2, 2 3, 3 4, 4 1);
Дальше должен строиться граф (видимо с помощью графики visual studio) и выводиться сама матрица смежности.

Так получилось, что я смог реализовать всё, кроме вот этой самой графики, то есть нет построения графа, как реализовать, не знаю. Если кто знает, будьте добры, помогите пожалуйста.
Код для вывода матрицы смежности был написан в Visual Studio 2008 в консольном приложении. Может быть можно как-то графику связать с консолькой, или как-то уж по другому, к сожалению я не знаю, подскажите))
Код представлен ниже.
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
 
using namespace std;
 
int main()
{
    int n, m, x, y, a[80][80];
    setlocale(LC_ALL, "rus");
    cout << "Введите количество вершин: ";
    cin >> n;
    cout << "Введите количество рёбер: ";
    cin>> m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
        {
            a[i][j]=0;
        }
        cout << endl;
    cout << "Введите рёбра: " << endl;
    for(int i=1;i<=m;i++)
    {
        cin >> x >> y;
        a[x][y]=1;
        a[y][x]=1;
    }
    cout << endl;
    cout << "Матрица смежности: " << endl;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    _getch();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 13:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер (C++):

Написать программу,которая выводит на экран ( для заданного n>1) верхнетреугольную матрицу - C++
Напишите пожалуйста( Написать программу,которая выводит на экран ( для заданного n&gt;1) верхнетреугольную матрицу: n=2 1 2 ...

заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь - C++
Задание: заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь. Помогите написать...

Сгенерировать матрицу смежности полного графа - C++
1. Сгенерировать матрицу смежности полного графа (количество вершин n = 3) и найти минимальный гамильтонова цикла методом полного перебора....

Написать программу, которая выводит пример на вычитание, запрашивает ответ пользователя, проверяет его и выводит сообщение о правильности - C++
Написать программу, которая выводит пример на вычитание (в пределах 100), запрашивает ответ пользователя, проверяет его и выводит сообщение...

С матрицы смежности в матрицу инцидентности, список рёбер и вершин, диаграмма - C++
Помогите, пожалуйста. На C# или C++ нужна такая программа, что когда задается матрица смежности (5 на 5 можно) и выводились: 1) матрица...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
06.02.2014, 08:22  [ТС] #16
ну так ты мне поможешь сделать так, чтоб ошибка то вылазила при вводе лишней вершины?
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
06.02.2014, 10:54 #17
Alexandr1966, так вы на чем пишете ее уже теперь? На C++ или на C#?
0
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
06.02.2014, 12:27  [ТС] #18
выше в теме есть архив от пользователя, который на C# сделал
0
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
15.02.2014, 14:31  [ТС] #19
Друзья, кто может, помогите отловить ошибки в этой программе.
В общем, если вводишь кол-во вершин в верхнем правом поле формы например 3, то ниже ты должен вводить название рёбер 1 2, 2 3, 1 3 и всё, но никак не должна быть 4-я вершина какая-нибудь (например, не должно быть 1 4, если ввел и потом нажимаешь построение матрицы или вывод графа чтоб выдавалось сообщение об ошибке).
Потом должна быть кнопка на форме, чтоб очищала поля ввода, чтоб по новой программу не перезапускать.
Потом надо сделать следующее:
когда строится граф должно выдаваться сообщение о том, какой это граф: связанный или нет. Если он связанный, то просто сообщение "Граф связанный". Но если же он не связанный, то кроме сообщения "граф несвязанный" должно выдаваться количество компонент связанности. Архив программы ниже, выполнена в VS 2008 в Visual C#.
0
Вложения
Тип файла: rar WindowsFormsApplication1.rar (54.1 Кб, 96 просмотров)
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
15.02.2014, 16:01  [ТС] #20
Ребята подскажите пожалуйста)
0
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
17.02.2014, 15:12  [ТС] #21
Есть у кого какие нибудь предложения?

Добавлено через 1 час 29 минут
Нужна всего то реализация вывода ошибок и название графа связанный он или нет, помогите пожааалуйста ребятаа
0
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 438
19.02.2014, 08:59  [ТС] #22
Enotniy, дружище подскажи пожалуйста а, помоги
0
Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
19.02.2014, 09:09 #23
Alexandr1966, если можешь до выходных подождать я сделаю - у меня как раз проект по графам, заодно сделаю что тебе надо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 09:09
Привет! Вот еще темы с ответами:

Создать программу, которая выводит на экран символьную матрицу - C++
создать прогу которая выводит на экран символьную матрицу. пример вывода. * * * * * * * * * * * * * * * * * * * * ...

Написать программу, выводящую список всех "циклических" вершин ориентированного графа - C++
Написать программу, выводящую список всех &quot;циклических&quot; вершин ориентированного графа. Вершина - циклической, если она принадлежит хотя бы...

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя - C++
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя.

Написать программу которая выводит трафарет - C++
5. Написать программу, которая выводит один под другим трафарет: ******** ******* ****** ***** ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.02.2014, 09:09
Ответ Создать тему
Опции темы

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