1 / 1 / 0
Регистрация: 06.12.2018
Сообщений: 8
1

Необработанное исключение по адресу 0x00EC2729 в izo.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCD

12.11.2020, 19:33. Показов 1418. Ответов 6

Author24 — интернет-сервис помощи студентам
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
 
using namespace std;
 
const int nmax = 100;
 
class isomorth {
    int n;
    int** Graph;
public:
    void MakeGraph();
    void Printmatrix();
    void Gen(isomorth, int);
    int Reshenie(isomorth, isomorth);
    bool operator ==(const isomorth);
    isomorth() { n = 0; Graph = new int* [nmax]; }
};
 
int isomorth::Reshenie(isomorth A1, isomorth B1)
{
    int a = 0, i, l;
    isomorth A2 = A1, A3, A4;
    if (A1.n == B1.n)
    {
        for (i = 1; i <= A2.n || A2 == B1; i++)
        {
            for (l = 1; l <= A2.n || A2 == B1; l++)
                for (int j = 1; j <= A2.n; j++)
                {
                    A3.Graph[i][j] = A2.Graph[i][j];
                    A2.Graph[i][j] = A2.Graph[l + 1][j];
                    A2.Graph[l + 1][j] = A3.Graph[i][j];
                    for (int j = 1; j <= A2.n; j++)
                    {
                        A4.Graph[j][i] = A2.Graph[j][i];
                        A2.Graph[j][i] = A2.Graph[j][l + 1];
                        A2.Graph[j][l + 1] = A4.Graph[j][i];
                    }
                }
 
        }
    }
    if (A2 == B1)
        a = 1;
    return a;
};
 
 
bool isomorth::operator==(const isomorth B1)
{
    int count = 0;
    bool k = false;
    for (int i = 1; i < this->n; i++)
        for (int j = 1; j < this->n; j++)
            if (this->Graph[i][j] == B1.Graph[i][j])
                count++;
    if (count == ((this->n) ^ 2))
        k = true;
    return k;
};
 
void isomorth::MakeGraph()
{
    isomorth A;
    int p;
    cout << "Сгенерировать или ввести граф?(1/0)";
    cin >> p;
    cout << "Введите количество вершин : ";
    cin >> A.n;
  
        for (int i = 1; i <= A.n; i++)
           
            for (int j = 1; (j <= A.n) && (!(A.Graph[i][j])); j++)
            {
                cout << "Соединить вершины " << i << "и" << j << "(1/0)?";
                cin >> A.Graph[i][j];
                A.Graph[j][i] = A.Graph[i][j];
            }
 
    };
 
 
 
void isomorth::Gen(isomorth A, int n1)
{
    int k;
    for (int i = 1; i <= n1; i++)
        for (int j = 1; j <= n1 && !(A.Graph[i][j]); j++)
        {
            k = rand() % 2;
            if (k < n1)
            {
                A.Graph[i][j] = 1;
                A.Graph[j][i] = A.Graph[i][j];
            }
        }
 
};
 
void isomorth::Printmatrix()
{
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            cout << Graph[i][j];
    _getch();
};
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    isomorth A1, B1;
    int k = 0;
    //Построение графов и вывод их структур смежности.
    cout << "Матрица смежности для графа 1\n";
    A1.MakeGraph();
    A1.Printmatrix(); cout << endl;
    cout << "Матрица смежности для графа 2\n";
    B1.MakeGraph();
    B1.Printmatrix(); cout << endl;
    //Решение.
    k = A1.Reshenie(A1, B1);
    if (k)
        cout << "Графы изоморфны";
    else
        cout << "Графы не изоморфны";
    _getch();
}
на 78 строчке появляется эта ошикба


C++
1
2
3
4
5
6
for (int j = 1; (j <= A.n) && (!(A.Graph[i][j])); j++)
            {
                cout << "Соединить вершины " << i << "и" << j << "(1/0)?";
                cin >> A.Graph[i][j];
                A.Graph[j][i] = A.Graph[i][j];
            }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2020, 19:33
Ответы с готовыми решениями:

Необработанное исключение по адресу 0x001B3371 в XXX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDF
Делал консольную змейку и столкнулся вот с такой проблемой. void stena(char **arr) { int y...

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже...

Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
Необработанное исключение по адресу 0x00105FD7 в Динамические структуры.exe: 0xC0000005: нарушение...

Необработанное исключение по адресу 0x00E730CD в ConsoleApplication18.exe: 0xC0000005: нарушение прав доступа при чтении
Задана целочисленная динамическая матрица M. Элементы этой матрицы, без остатка делящиеся на 6,...

6
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
12.11.2020, 19:50 2
Лучший ответ Сообщение было отмечено Chiller как решение

Решение

Цитата Сообщение от Chiller Посмотреть сообщение
на 78 строчке появляется эта ошикба
Цитата Сообщение от Chiller Посмотреть сообщение
isomorth() { n = 0; Graph = new int* [nmax]; }
Память выдели под матрицу
C++
1
2
3
4
5
6
7
isomorth() 
{ 
    n = 0; 
    Graph = new int* [nmax]; 
    for (int i = 0; i < nmax; ++i)
        Graph[i] = new int[nmax];
}
Добавлено через 19 секунд
И удалить не забудь в деструкторе

Добавлено через 53 секунды
Цитата Сообщение от Chiller Посмотреть сообщение
for (int j = 1; (j <= A.n) && (!(A.Graph[i][j])); j++)
for (int j = 0; (j < A.n) ......; j++)
1
1 / 1 / 0
Регистрация: 06.12.2018
Сообщений: 8
12.11.2020, 21:37  [ТС] 3
Да, сработало, спасибо. Слушай, там как я понял то граф вообще у меня не создаётся и я уже не знаю просто что с этим делать. В коду видимо ещё есть проблемы, но я многого ещё не понимаю

Вроде бы циклы вообще не работают
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
12.11.2020, 21:50 4
Цитата Сообщение от Chiller Посмотреть сообщение
bool operator ==(const isomorth);
bool operator ==(const isomorth &other) const

Добавлено через 3 минуты
И что вообще у тебя делает этот оператор?
0
1 / 1 / 0
Регистрация: 06.12.2018
Сообщений: 8
12.11.2020, 21:55  [ТС] 5
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
И что вообще у тебя делает этот оператор?
Не могу сказать, так как код для решения этого задания был просто Ctrl+C - Ctrl+V
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
12.11.2020, 22:05 6
Цитата Сообщение от Chiller Посмотреть сообщение
Не могу сказать, так как код для решения этого задания был просто Ctrl+C - Ctrl+V
Что означает вот это условие
Цитата Сообщение от Chiller Посмотреть сообщение
if (count == ((this->n) ^ 2))
?
0
1 / 1 / 0
Регистрация: 06.12.2018
Сообщений: 8
13.11.2020, 15:00  [ТС] 7
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Что означает вот это условие
Сообщение от Chiller
if (count == ((this->n) ^ 2))
?
Опять же, не могу сказать точно, ведь код я заимствовал, да и в программировании не силён. Вообще, суть всего задания - определить изоморфность графа
0
13.11.2020, 15:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2020, 15:00
Помогаю со студенческими работами здесь

Вызвано исключение по адресу 0x013C1891 в Jacobi.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
#include &lt;math.h&gt; const double eps = 0.001; ///&lt; желаемая точность /// N - размерность...

Вызвано исключение по адресу 0x00007FF7F71C960A в Project4.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
Код очень легкий, я только учусь и не понимаю в чем проблема. #include&lt;iostream&gt;...

Вызвано исключение по адресу 0x00B31BEF в Project.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE0
Написал программу, но выдает ошибку: Вызвано исключение по адресу 0x00B31BEF в Project.exe:...

C++ Вызвано исключение по адресу 0x00346786 в Smooth_.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00
void getvector(string file_, vector&lt;double&gt; mass) { ifstream fin; fin.open(file_); if...

Необработанное исключение по адресу 0x008B94C5. 0xC0000005: нарушение прав доступа при чтении по
Здравствуйте! Функция должна искать локальные минимумы массива. То есть это элементы,которые меньше...

Ошибка при компиляции. Необработанное исключение по адресу 0x00216B87 в Project1.exe: 0xC0000005: нарушение прав доступа
Необработанное исключение по адресу 0x00216B87 в Project1.exe: 0xC0000005: нарушение прав доступа...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru