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

Исключение Stack overflow

27.11.2021, 18:47. Показов 1383. Ответов 1

Author24 — интернет-сервис помощи студентам
Всем привет. Помогите пожалуйста исправить ошибку. При компиляции, программа выдает исключение: Необработанное исключение по адресу 0x00B067C7 в F_111639.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x00B22000).
В чем может быть проблема?
Исключение Stack overflow


Задача:
От списков смежности к матрице смежности
Простой неориентированный граф задан списками смежности, выведите его представление в виде матрицы смежности.
Входные данные
В первой строке входного файла задано одно целое число N ( 1 ≤ N ≤ 100 ) — число вершин. Далее в N строках содержатся списки смежности, в i -ой строке список смежности для i - 1 вершины. Каждая строка начинается с целого неотрицательного числа — длины списка. Далее в этой же строке через пробел перечислены все элементы списка. Гарантируется, что введенный граф корректен.
Выходные данные
В выходной файл выведите матрицу смежности графа.

Код
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
#include <iostream>
#include <vector>
using namespace std;
int  main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int n, N;
    cin >> n;
    N = n;
    int t, i = 0, v;
    vector <int> g[1024];
    while (n--) {
        cin >> t;
        while (t--) {
            cin >> v;
            g[i].push_back(v);
        }
        i++;
    }
    n = N;
    int d[1024][1024];
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++) d[i][j] = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < g[i].size(); j++) {
            d[i][g[i][j] - 1] = 1;
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) cout << d[i][j] << " ";
        cout << endl;
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2021, 18:47
Ответы с готовыми решениями:

Quicksort - исключение stack overflow
Алгоритм сортирует таблицу со случайными числами на 100тыс, 500тыс, 1млн, но при сортировке уже...

Необработанное исключение Stack overflow
Здравствуйте. Такое дело: считываю файл в буфер, а он ругаиццо. ... DWORD bufferSize =...

Необработанное исключение: 0xC00000FD: Stack overflow
Я решаю одну задачу, где происходит перемена значений, при этом у меня переполняется стек, вот код...

Показывает необработанное исключение Stack Overflow
Показывает необработанное исключение Stack Overflow Как это исправить? Задание: Вызов...

1
Модератор
Эксперт С++
13498 / 10752 / 6407
Регистрация: 18.12.2011
Сообщений: 28,692
27.11.2021, 19:29 2
Лучший ответ Сообщение было отмечено _Алена_ как решение

Решение

Цитата Сообщение от _Алена_ Посмотреть сообщение
int d[1024][1024];
Либо создавайте динамический массив.
Либо объявите этот массив глобально.

Поскольку условие задачи носит гриф "Совершенно секретно",
то я смел предположить, что определяется количество одинаковых элементов в массиве с переменными границами
(хотя d[i][g[i][j] - 1] = 1 является какой-то мутной операцией):
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
#include <iostream>
#include <map>
#include <vector>
using namespace std;
 
int  main()
{
    int n;
    cout<<"n=";
    cin >> n;
    vector<vector<int> > g(n);
    for(int i=0;i<n;i++){
        int t;
        cout<<"t=";
        cin >> t;
        vector<int> v(t);
        for(int j=0;j<t;j++)
        {
            cout<<j<<":";
            cin >> v[j];
        }
        g[i]=v;
    }
    cin.get();
    map<int,int> d;
    for (int i = 0; i < n; i++) {
        for (size_t j = 0; j < g[i].size(); j++) {
            d[g[i][j]]++;
        }
    }
    map<int,int>::iterator p;
    for (p=d.begin(); p!=d.end(); ++p)
        cout << p->first << "->"<<p->second<< endl;
    cin.get();
    return 0;
}
1
27.11.2021, 19:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2021, 19:29
Помогаю со студенческими работами здесь

Stack overflow
Написал #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include &lt;math.h&gt; #include...

stack overflow
При запуске кода выдаёт Необработанное исключение по адресу 0x00493DD9 в vuz1.exe: 0xC00000FD:...

Stack overflow
Реализовал структуру данных стек на связном списке, очистку решил возложить на деструкторы узлов,...

Stack overflow.
У меня в программе есть реверсивная функция (много параметров) она вызывает себя очень много раз....

stack overflow
Всем привет. пишу void test() { try { cout &lt;&lt; &quot;test \n&quot;; test(); } catch(exception...

Почему stack overflow?
Почему приведенный ниже код сразу же приводит к переполнению стека? int _tmain(int argc,...


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

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

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