|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
Проверка существования структуры17.12.2011, 21:32. Показов 12821. Ответов 46
Метки нет (Все метки)
Гугл ничего не дал так, что думаю будет многим полезно.
Язык си, как проверить существует ли структура по данному адресу (была ли она задана)? В других языках есть try/catche на си вроде нет, только на си++.
0
|
|
| 17.12.2011, 21:32 | |
|
Ответы с готовыми решениями:
46
Проверка существования файла Проверка существования файла Проверка существования логина |
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 22:39 [ТС] | |
|
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|||
| 17.12.2011, 22:40 | |||
![]() соберите последнюю версию mingw. Там должно быть точно так же как и под юникс. Я был приятно удивлен когда поставил последнюю версию gcc и по случаю замечал что память с нулями, потом проверил - да так. Вы просто немного не так понимаете задачу, ну или подход к решению.
0
|
|||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 22:42 [ТС] | |
|
Ну первый подход - чтобы работало, потом оптимизация и изменения - сдать надо через сутки
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 22:45 | ||
|
вот это кстати сомнительно. Получается что поле структуры не может содержать данные в виде нуля. Ограничение.
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 22:54 | ||
|
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|
| 17.12.2011, 23:07 | |
|
Надо ему вот и говорю что и как. Между прочим с оговоркой. Полагаться на особенности компилятора это очень сомнительная мысль. Ладно, вода, проехали.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:12 [ТС] | |
|
Ладно сдаюсь - ничего не получается, как ни крути, а не знаю как сделать функцию, которая не затрет дерево при следующем вызове.
Добавлено через 1 минуту в задании в функцию передается только адрес корня и все, менять устройство структуры нельзя, как сделать это дерево?
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 23:18 | ||
|
0
|
||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:29 [ТС] | |
|
Разве ошибочным будет утверждение, что для добавления ветки к дереву необходимо чтобы корень в массиве указателей на эти ветки имел везде NULL на первом проходе?
Добавлено через 1 минуту Иначе как в дальнейшем определять существует ветка или нет, потому что мусор будет расцениваться как существующая ветка. Добавлено через 12 секунд А при проверке вызывать ошибку.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:55 [ТС] | |
|
на картинке есть узел 021 допустим он получился когда я первый раз вызвал функцию setDecoration, корень был пуст, были созданы узлы 0,02,021 теперь я хочу в это дерево записать узел в 012 функция при выделении памяти для узла 0 затрет значение адреса для узла 021, если этого не делать то к узлу 0211 доступа не будет так как память под конечную структуру никто не выделял и при попытке туда обратится будет access violation. Ничего кроме как проверки на существование узла я не могу придумать.
Подскажите пожалуйста, я не так задачу понял или что то упускаю?
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||||||||
| 18.12.2011, 00:21 | ||||||||
вот косой пример двоичного дерева. функция вставки Добавлено через 11 минут обход дерева надо переделать, так же кинуть исключение. Думаю что суть вы уловили.
0
|
||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 18.12.2011, 00:45 | ||||||
|
awpe, Вы не совсем понимаете как строятся деревья. На википедии есть неплохие статьи по двоичным деревьям. Вот пример дерева поиска с функцией вставки и обхода, реализованных посредством рекурсии:
1
|
||||||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:03 [ТС] | ||||||
|
вроде так должно работать согласно заданию
не понимаю в чем ошибка, если убрать работу со строками то ошибок нет, если убрать создание структур то тоже ошибок нет, вместе они не работают... Добавлено через 19 секунд Я про функцию setDecoration Добавлено через 30 минут ага понял, нельзя так присваивать значение для path[n], ладно буду передавать str, но там снова ошибка, программа вылетает причем каждый раз на новом месте... Добавлено через 45 секунд Заметил что место вылета зависит от того где стоят контрольные printf... В чем может быть проблема? Сейчас вылетает на str=(char *) malloc(q*sizeof(char*)); Добавлено через 9 минут Пожалуйста скажите где ошибка?
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 18.12.2011, 13:21 | |
|
awpe, пройдитесь с дебаггером по программе и все станет ясно. Не поможет - дайте задание, лучше переписать с нуля, чем пытатся разобратся.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:35 [ТС] | ||||||
|
задание
новый код
Добавлено через 50 секунд Решил проблему со строками, теперь при вызове tmp=(TNODE *) malloc(sizeof(TNODE *)); программа рушится, дебаггер в dev c++ какой -то странный, нет времени разбираться.
0
|
||||||
|
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
|
|||||||
| 18.12.2011, 13:43 | |||||||
0
|
|||||||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:55 [ТС] | ||||||
аналогично здесь - int CreateTree( TNODE ** root, char * str, int decor ): TNODE *tmp; создаст указатель на объект типа TNODE потом (TNODE *) malloc(sizeof(TNODE *)) вернет указатель на область памяти для объекта типа TNODE этот указатель я приравниваю к tmp: "tmp=(TNODE *) malloc(sizeof(TNODE *));" Я где то запутался в указателях? Добавлено через 34 секунды Как правильно тогда?
0
|
||||||
| 18.12.2011, 13:55 | |
|
Проверка на существования файла Проверка условия существования треугольника Проверка существования файла с использованием ifstream() Проверка существования трехугольника с заданными сторонами, и определение его типа Проверка на существования ID Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|