|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.08.2017, 20:01 | #21 |
Форумчанин
Регистрация: 13.05.2017
Сообщений: 100
|
Если нужна будет помощь - пиши в лс (в Readme указан мой адрес электронной почты). Я почти не использовал комменты, так как писал один, так что может быть сложновато разобраться (хотя я везде использовал значащие переменные).
|
11.08.2017, 11:11 | #22 |
Форумчанин
Регистрация: 13.05.2017
Сообщений: 100
|
Пытался увеличить производительность, но ничего не вышло - это максимум. Построил алгоритм, который быстрее находит судоку с более чем 60-тью вычеркнутыми цифрами, но этот алгоритм оказался медленнее при меньших значениях... Так что это, наверно, окончательная версия алгоритма.
|
11.08.2017, 14:59 | #23 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Алгоритм можно выбирать в зависимости от запрошенного количества цифр.
|
11.08.2017, 17:03 | #24 |
Форумчанин
Регистрация: 13.05.2017
Сообщений: 100
|
Это ничего не меняет: время ожидания все равно исчисляется десятками секунд!
|
11.08.2017, 20:15 | #25 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
|
11.08.2017, 22:30 | #26 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Мельком глянул на код генерации.
У Вас там сложность зашкаливает SIZE * N * (SIZE * (SIZE + ... + SIZE + SIZE * ....)), где многоточиями указал то, что не стал разбирать, там, наверное, еще по логарифму. И на будущее, всё-таки пользуйтесь индексацией arr[index], а не *(arr + index) Последний раз редактировалось Croessmah; 11.08.2017 в 22:36. |
12.08.2017, 03:28 | #27 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
12.08.2017, 11:54 | #28 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
|
12.08.2017, 20:53 | #29 | |||
Форумчанин
Регистрация: 13.05.2017
Сообщений: 100
|
Цитата:
Цитата:
Цитата:
1) Я только начал изучать Си (до этого немного программировал на паскале) и вариант через указатели мне был не знаком - поэтому я решил в нем разобраться. 2) В ф-ции я передавал массивы с помощью указателей (из-за первого пункта, а также потому, что не надо указывать размерность). Синтаксический сахар я использовал только в двух случаях, когда обращался к элементам двумерного массива прямо в той же ф-ции, где его (массив) объявлял. Это из-за того, что запись *(*(array + i) + j) могла ввести в заблуждение (привычка писать *(array + i * SIZE + j)). Как по мне (как я уже говорил кодил на паскале) что запись a[i], что *(a + i) - вторая даже лучше, сразу видишь, что это Си)) Да, и тут никаких логарифмов - простейшая математика, уровня третьего класса. Даже операция деления встречается раза 2 за всю прогу))) Последний раз редактировалось tutejshy; 12.08.2017 в 21:03. |
|||
13.08.2017, 06:53 | #30 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
с размером, то всё равно будет голый указатель. Индексацию можно и к указателю применять. А вот код будет намного читабельнее и проще. Последний раз редактировалось Croessmah; 13.08.2017 в 06:55. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь в тестировании нового инструмента для С# | cpp46 | Софт | 0 | 18.12.2015 14:06 |
Нужна помощь в написании проги на паскале за вознаграждение!!! | Indemion | Фриланс | 2 | 26.05.2015 22:12 |
Нужна помощь с алгоритмом...есть листинг проги на delphi | DIMONCHIK666 | Помощь студентам | 12 | 23.03.2015 05:42 |
Требуется помощь в тестировании | Utkin | Софт | 0 | 04.12.2009 10:19 |
нужна помощь в написании маленькой проги. о цене договримся | ЛенаЛена | Помощь студентам | 1 | 26.01.2009 13:02 |