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

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

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

Построить матрицу смежности - C++

08.04.2014, 19:52. Просмотров 239. Ответов 0
Метки нет (Все метки)

Задаем поле с единицами и нулями (где 1-пустая клетка, 0-препятствие).
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int n, m, x, y, k, l, nkol, razmer;
    cout<<"Введите количество строк: ";
    cin>>n;
    cout<<"Введите количество столбцов: ";
    cin>>m;
 
    //создание массива, заполнение 1-ми
 
    int** a = new int* [n];
    for(int i=0; i<n; i++)
    {
        a[i] = new int[m];
        for(int j=0; j<m; j++)
        {
        a[i][j]=1;
        }
    }
 
    // вывод массива
 
    for(int i = 0; i < n; i++)
    {
        cout<<endl;
        for(int j = 0; j < m; j++)
        {            
            cout<<a[i][j]<<" ";
        }
    }
    cout<<endl;
    cout<<endl;
 
    //ввод препятствий, коррекция массива
 
    cout<<"Ввод препятствий (координаты x и y задают левый верхний угол препятствия):"<<endl;
    cout<<endl;
 
 
    cout<<"Введите количество препятствий: ";
    cin>>nkol;
 
    for (int g=1; g<=nkol; g++)
    {
        cout<<"Введите x"<<g<<": ";
        cin>>x;
        cout<<"Введите y"<<g<<": ";
        cin>>y;
        cout<<"Введите длину препятствия: ";
        cin>>k;
        cout<<"Введите ширину препятствия: ";
        cin>>l;
 
        for(int i=x; i<x+l; i++)
        {
            for(int j=y; j<y+k; j++)
            {
                a[i][j]=0;
            }
        }
        x=0;
        y=0;
        k=0;
        l=0;
    }
 
    // вывод скорректированного массива
 
    for(int i = 0; i < n; i++)
    {
        cout<<endl;
        for(int j = 0; j < m; j++)
        {            
            cout<<a[i][j]<<" ";
        }
    }
 
    cout<<endl;
    cout<<endl;
    system("pause");
}
Нужно проанализировать полученное поле и построить по нему матрицу смежности неориентированного графа (симметричную). Очень нужна помощь, сидим весь день не можем ничего путного придумать. Заранее спасибо!

P.S. Каждая клетка является вершиной графа, т.е если поле размером n*m, то размер матрицы смежности k*k, где k=n*m. Исполнить надо на С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 19:52     Построить матрицу смежности
Посмотрите здесь:

Построить матрицу заданного вида C++
Построить матрицу вида порядка n C++
Из матрицы X (mxn) построить матрицу Y C++
Как из матрицы смежности получить матрицу инцидентности? C++
C++ Построить матрицу по образцу
C++ Ввести с клавиатуры, построить матрицу
Построить вещественную матрицу по образцу C++
C++ Преобразование списка смежности в матрицу смежности
C++ Сгенерировать матрицу смежности полного графа
C++ Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер
Ориентированный граф. Получить из списка рёбер матрицу смежности C++
построить матрицу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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