Я бы добавил: подсматривать в видео ответы, только в крайнем случае. Например когда на попытки решения ушло более 10 часов. Здесь под попытками имеется ввиду целеустремлённое решение проблемы. Если вы раз в неделю на 2 часа фокусировались на проблеме и пытались её решить, то смотреть ответ только через 5 недель - больше месяца. При этом подглядыванием не считается изучение справки по языку или технологии / библиотеке.
Ну вот например в Stellarium, используются вложенные орбиты.
Смотрите сами:
SolarSystem::computePositions
Planet::computePositionWithoutOrbits
Planet::computePosition
Не знаю как в других. Но такой подход подразумевает что всё происходит в рамках данной иерархии, а следовательно это тоже приближение. Точным я бы это не назвал.
Хотя по методу Рунге-Кутты сотня лет это всего 100 оборотов Земли вокруг Солнца. Это можно посчитать достаточно точно за разумное время. А вот тысячи лет - уже затруднительно. Хотя утверждать на полную не могу. Параллелится это жутко хорошо.
Посмотрите например N-Body сэмпл из OpenCL.
Матвей Пеньков: сначала сделайте вне, а потом перенесите в метод.
Я больше скажу, иногда помогает написать спагетти из ифов, на три четыре повторения в некотором смысле, прежде чем будет видно как это дело обернуть в цикл.
iamevg_: самый лучший метод влится - найти знающего, и допрашивать, можете меня допрашивать. Я не знаю хороших обучалок по программированию без знаний математики.
Вы можете ошибочно считать, что у вас есть минимальные знания математики и окажется что это даже ниже школьных. Или просто чего-то не хватает в понимании.
Есть функция findClosest, которая принимает неотсортированный массив чисел, число которое надо найти и функцию-компаратор. Компаратор должен определять одно из 4 возможных типов поведения для findClosest:
Recardo_Recoly: Как бы вам объяснить. Всё зависит от кода либы. Он у вас видимо попался такой, что его инициализация/вызов вызывает краш. А мог бы быть такой, что не вызывал бы.
Чего-то там специфичное есть такое, что он вызывает крэш.
И всё же, вы пробовали вызвать инициализацию из потока в котором WinProc вызывается?
В чём проблема выполнить инициализацию прямо в хуке?
Recardo_Recoly: Сначала изложите причину крэша при вызове либы из WinProc, а заодно скажите в чём проблема сделать инициализацию из потока в котором происходит WinProc?
Нельзя вызывать WindowProc не из так называемого "UI Thread".
По умолчанию это первый поток приложения.
Я как-то раз пытался из отдельного потока выполнять что-нибудь из обработки сообщений, но это именно по этой причине не заработало.
Прикрыть листочком.
А если серьёзно. Обычного учебника должно быть достаточно.
Недостаточно будет только прочесть его, так и решать его задачи.
Проблема может быть с проверкой, желательно чтобы кто-то проверял ваши решения.
Тут сами думайте.
Про онлаен курсы ничего не знаю. Ждите другие ответы. Это не считаю за ответ, потому он и находится в комментариях.