|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
||||||
Ошибка сегментирования.01.05.2011, 17:54. Показов 3532. Ответов 12
Метки нет (Все метки)
Всем доброго времени суток!
Помогите пожалуйста разобраться в чем дело, пишу программу( суть найти путь в дереве, но думаю это не будет столь важно). Необходимо создать новый массив, НО, при его создании и запуске(запуске(1), компиляции проходит без ошибок) программы выдаётся ошибка "ошибка сегментирования" (пишу под линухом). Так же совсем не создаются больше переменные, та же ошибка. И еще не создаваётся цикл фор, даже пустой, та же ошибка сегментирования. Я пометил это место в коде Выкладываю код как есть с кучей хлама, заранее не ругайтесь, спасибо.
Буду признателен за помощь.
0
|
||||||
| 01.05.2011, 17:54 | |
|
Ответы с готовыми решениями:
12
Ошибка в коде (Ошибка сегментирования (core dumped) ошибка сегментирования Ошибка сегментирования |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.05.2011, 18:26 | |
|
ZloyVolkey, Ммм... И шаблоны прям. И все круто.
А как насчет того что массивы начинаются с нуля? То есть массив int a[5] имеет элементы под номерами 0, 1, 2, 3, 4. Я это к вашим циклам применительно говорю. Проверьте циклы в начале особенно.
0
|
|
|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
|
| 01.05.2011, 18:39 [ТС] | |
|
Шаблон просто скопировал.
Ну, про то что с нуля начинаются этому нас научили...С 1 удобней было считать когда писал. К тому же в таком виде всё работает исправно, ошибка ведь не в нумерации массива.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 01.05.2011, 18:43 | ||||||
|
ZloyVolkey, Именно в ней.
То есть в примере с обычным массивом. int arr[5] вы идете по элементам 1, 2, 3, 4, 5 - НО 5 элемента нету и не должно быть (т.к. нумерация ведь с нуля начинается). В итоге вы пишите в неизвестную область памяти. В следующем цикле вы опять пропускаете первый элемент... Вы уверены, что вас учили тому, что массивы начинаются с нулевого индекса?
0
|
||||||
|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
|
| 01.05.2011, 19:12 [ТС] | |
|
Предположим v = 5; Создаём массив w[v+1][v+1](т.е. 6х6); и заполняем его нулями пропуская нулевую строку и нулевой столбец и далее просто не используем их, ошибки тут нет.
В примере с обычным массивом, v = 5, w[v+1], мы проходим по первому(второму)...пятому(шестому). Никуда за рамки не уходим. Не сочтите за грубость, но да, я уверен, что меня учили тому, что массивы нумеруются с нуля. Тут всё правильно, ошибка не в этом.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 01.05.2011, 19:26 | ||||||
|
ZloyVolkey, Оу. Да. Действительно. Извиняюсь. Посмотрел на код более свежими глазами - увидел что тут и правда нет выхода.
0
|
||||||
|
114 / 114 / 13
Регистрация: 29.04.2010
Сообщений: 240
|
|
| 01.05.2011, 19:31 | |
|
ForEveR, dev c++ вроде такое переваривает.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.05.2011, 19:32 | |
|
PraZuBeR, Я написал, что это не переносимо, а не невозможно.
0
|
|
|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
|
| 01.05.2011, 20:12 [ТС] | |
|
ForEveR, Ближе к завершению программы может всё исправится на "переносимый" вариант. )
Но суть дела то не в этом. =\
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 01.05.2011, 20:19 | ||||||
|
ZloyVolkey, Проблема как минимум здесь
Вообщем логику программы понять довольно трудно. Ты достаточно странно заполняешь матрицу смежности - 1. Открытые, закрытые списки и т.д. Запутано все. Посему мой тебе совет, либо бегай отладчиком по программке, смотри где падает при каких значениях и т.п. либо расставь трейсы по коду и смотри что проходит, что нет. Задание можешь сказать? Полагаю, что это можно сделать проще, без такого кол-ва переменных, половина из которых аще не используются.
0
|
||||||
|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
|
| 01.05.2011, 20:24 [ТС] | |
|
В данном виде код рабочий, ошибок нет. При создании любой другой переменной/массива в каком либо куске программы выдаётся ошибка(при запуске, компиляция чистая), из-за чего собственно и не могу закончить программу.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 01.05.2011, 20:30 | |
|
ZloyVolkey, Код не рабочий. Рабочий код не падает ни при каких входных данных + к тому если и падает то есть трейсы или еще что-либо, чтобы было понятно что случилось. У меня он упал два раза при разных входных данных. Рабочий код?
Хотя по сути нет резона спорить. То, что ты описываешь даже в теории невозможно в рабочем коде, так что... Отладчик в руки и вперед.
0
|
|
|
27 / 27 / 7
Регистрация: 01.05.2011
Сообщений: 85
|
|
| 02.05.2011, 10:49 [ТС] | |
|
ForEveR, Данные задаются в таком виде:
первый ввод - кол-во вершин v; второй ввод, это v-1 раз вводим через пробел вес рёбер графа. Например 1 2 5, 2 3 7, 3 4 6. scanf("%i", &searchcount); // Сколько путей найти. Эту строчку закомментить/удалить, она не нужна. (тот блок который я выделил пока что не нужен) parent = 1, // Начало поиска. searching = 6, // Конец поиска. здесь указывается от какой и до какой вершины искать путь. На выходе программа суммирует рёбра и выдаёт длину пути. Тестировал на различных графах, работает. Добавлено через 14 часов 8 минут Переписал всё заново...всё работает. Можно закрывать тему. Но в чем ошибка была я так и не разобрался.
0
|
|
| 02.05.2011, 10:49 | |
|
Помогаю со студенческими работами здесь
13
Ошибка сегментирования Ошибка сегментирования
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|