Я бы добавил, что для поиска неисправности надо в теле цикла поставить вывод переменной цикла (как вариант - всех переменных, участвующих в формировании условия завершения цикла). Ну и смотреть, верные ли у них значения.
Если переменные меняются так, как не должно быть, то надо поставить вывод переменной цикла в разных местах цикла, чтобы было видно, где именно значение переменной изменяется непотребным образом.
Игорь Мазница, Всё-таки программирование намного боле сложный инструмент, чем зубило. Тут скорее надо сравнивать с токарным станком, а там любовь уже не звучит так смешно.
Developer, я согласен с тем, что математика нужна в программировании и много где ещё. Но вот доказывать надо нужность, а не ненужность. Т.е. доказывать должны Вы, а не Александр.
Я бы добавил, что наращивать/увеличивать память следует всегда, если есть такая возможность - т.е. если есть деньги или готовая память; если мат.плата и процессор позволяют нарастить память; если операционка поддерживает много памяти (я про то, что 32-битная операционка не поддерживает более 3.3 GB RAM; ну и бывают иные ограничения).
Ну и как найти старший значащий бит? Вроде, трудоёмкость получается примерно такая же, как и при делении пополам, если делить путём сдвига битов.
Хотя можно искать старший бит чем-то типа метода половинного деления, это быстрее.
Wataru, Тут нужен не список, а очередь. Её можно делать в виде однонаправленного списка, но хорошо бы оптимизировать, выделяя память не под каждый элемент со ссылкой на следующий, а выделять блок под несколько элементов и ссылку на следующий блок.
См.мой ответ ниже.
Лев Александров, Любый списки, очереди и много иное делается на базе массивов. Благо RAM есть массив, а в ней делается вообще всё, что делается на компьютере.
Есть тонкость: человек может написать заявление "перевёл деньги по ошибке, пусть банк вернёт мне их обратно". Недавно читал историю, как к продавцу участка земли пришли две тётки, типа родственницы. Одна купила на себя участок, вторая со своей карточки перевела деньги. А потом такое вот заявление.
Роман Мирр, Зачем определять период, если в выражении написана частота?
2pi*10 и 2pi*30 соответственно.
(Хотя надо было поставить знаки умножения везде. Т.е. 2*pi*10 и 2*pi*30 соответственно. И перед временем в исходном выражении тоже.)
Фокс Йовович, Что значит "нереализуемый ответ"? Вроде, всё там реализуется: исходный сигнал полностью восстанавливается.
Если переменные меняются так, как не должно быть, то надо поставить вывод переменной цикла в разных местах цикла, чтобы было видно, где именно значение переменной изменяется непотребным образом.