|
|
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
SashaMercurymaytonМне не нравится что ты синус используешь для углов кратных четверти. В этой задаче - он вырожденный и заменяется на более примитивную функцию. крайне рад критике, может быть кто-нибудь ещё подскажет альтернативу лучше ?) А также подскажет как уйти от нотации Айверсона и чисел Фибоначчи ? Саш я тоже поднаторел в научных дискурсах и могу кидать софизмы и парадоксы. Скажи пожалуйста. Это ты у Кнута прочитал про нотацию Айверсона? Ты уверен что она ДЕЙСТВИТЕЛЬНО необходима для решения задачи Вини-Пуха. Или это уже новая ветка дискурса с новой задачей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 14:48 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Нет, про нее я узнал у своего наставника. 8 лет назад. А когда начал изучать Си понял, что вот же она тут :) А у Кнута недавно встретил, он хорошо объясняет. Интернет я не очень люблю, потому не стал рекомендовать гуглить, как это любит Анатолий. Мне захотелось оптимизировать его код, уйти от ветвлений, потому я предложил такую формулу, но тем не менее в ней ещё есть два ветвления. Разве это не интересно ? Разве задача про ферзей не кажется на первый взгляд такой-же простой как задача про медвежонка ?;) Меня гонят.. доброго времени суток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 15:51 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
mayton, 218 кб - выделяемая память приложению. 123 байта - размер исходного кода файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 18:15 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
VSVLADmayton, 218 кб - выделяемая память приложению. 123 байта - размер исходного кода файла Как они меряют? Так точно. Не реально мне интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 18:17 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
mayton, Для меня это останется большой загадкой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 19:51 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
mayton, Количество символов (кроме пробелов и переносов строк) и есть размер исходного кода. Вот так меряют. А объём памяти получается исходя из операций аллоцирования(исходя из моих личных наблюдений). Sharahov, если бы я был неправ, меня бы поправили другие участники. Вы не смогли обосновать свою точку зрения на данную проблему и чётко ответить на поставленный вопрос, и перешли на личные оскорбления. Ваши насмешки мне неинтересны, они только подчёркивают низкие качества вашей личности. авторОно и не влезло. Все вычисления выполнены по модулю 2^32. Можно вообще получить отрицательный результат, т.к. старший бит - знаковый. Есть int64, если надо больше бит. Тогда к чему вы приводили мне ответ, если его не было. Я вас спросил, откуда эта цифра (ибо я думал что вы приводите правильный ответ)? Как вообще программа работает ? Вы мне должны были ответить -эта цифра неправильная, тк переполнение. А не нести ерунду, и устраивать дискут на пустом месте. Всё это время я думал что вы как-то уходите от переполнения и эта цифра, вполне реальная. И я просто не понимал как у вас получается якобы правильный ответ, которого быть не могло. И об этом я вам и талдычил постоянно-"Как ваша функция нашла этот правильный ответ". блаблабла . куча времени потраченного впустую. И я практически уверен что код не ваш. Вы плаваете в элементарных вопросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 03:14 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Более понятный код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 07:28 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Более понятный код после рефакторинга Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Единственное что мне тут не нравится, это использование вспомогательной переменной Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 07:30 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Я-бы не стал так писать. Код: plaintext 1. Лучше-бы так. Код: plaintext 1. или Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 09:34 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Почему так писать не стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:07 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Ну... в случае если (k>1) дает FALSE - будет (int)0. Для значения true думаю что возможны варианты ненулевых констант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:22 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Да, вы правы, согласен. Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:23 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
mayton Код: plaintext 1. зачем хвост после вопроса? Чем тебе так не нравится: Код: sql 1. в переменную логического типа сохраняем результат логического выражения. Глазами читается нормально. Если кто-то захочет переменную в арифметический расчет засунуть - это его проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:26 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
SashaMercurySharahov, если бы я был неправ, меня бы поправили другие участники. Вы не смогли обосновать свою точку зрения на данную проблему и чётко ответить на поставленный вопрос, Возможно, другие участники, как, впрочем, и я, не собираются учить Вас программированию за 21 день? Как-то не хочется всерьез объяснять, что термин "разность" служит для обозначения результата, а сама соответствующая операция называется вычитанием. Устройство ЭВМ, системы счисления, битовые операции и т.п. базовые вещи обязан знать назубок любой начинающий программист. Начните с этого, и, может быть, тогда найдется больше желающих вас поправить. И еще одно. На форуме вы можете задавать сколько угодно вопросов, но требовать на них ответа вы не можете. Какие задачи мне решать и на какие вопросы мне отвечать, решаете не вы. SashaMercuryи перешли на личные оскорбления. Ваши насмешки мне неинтересны, они только подчёркивают низкие качества вашей личности. Где именно вы увидели личные оскорбления в ваш адрес? Ссылку. Вы параноик? SashaMercuryавторОно и не влезло. Все вычисления выполнены по модулю 2^32. Можно вообще получить отрицательный результат, т.к. старший бит - знаковый. Есть int64, если надо больше бит. Тогда к чему вы приводили мне ответ, если его не было. Я вас спросил, откуда эта цифра (ибо я думал что вы приводите правильный ответ)? Как вообще программа работает ? Вы мне должны были ответить-эта цифра неправильная, тк переполнение. А не нести ерунду, и устраивать дискут на пустом месте. Всё это время я думал что вы как-то уходите от переполнения и эта цифра, вполне реальная. И я просто не понимал как у вас получается якобы правильный ответ, которого быть не могло. И об этом я вам и талдычил постоянно-"Как ваша функция нашла этот правильный ответ". блаблабла . куча времени потраченного впустую. Не совсем так. Даже ребенку очевидно, что ваши исходные данные заставляют программу считать площадь квадрата со стороной 10^5. Правильный ответ, как вам должно быть известно равен 10^10. И само собой разумеется, ни одна программа в мире не сможет поместить его в результат типа integer. Результат вычислений получен в полном соответствии с известным принципом "мякину заложишь - мякину получишь". Правильный ли он? Вы этот вопрос не задавали, и я на него не отвечал. Я отметил лишь, что при вычислениях обязательно было переполнение. Если вы программист, то должны понимать, что в данном случае это означает неверный результат. SashaMercuryИ я практически уверен что код не ваш. Вы плаваете в элементарных вопросах. Дайте угадаю. Наверно, он ваш? Теперь уже похоже на то, что вы успешно окончили курсы "Жизнь за 21 день". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:26 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Давайте.... в конструктивное русло. Без личностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 12:53 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Dima Tmayton Код: plaintext 1. зачем хвост после вопроса? Чем тебе так не нравится: Код: sql 1. в переменную логического типа сохраняем результат логического выражения. Глазами читается нормально. Если кто-то захочет переменную в арифметический расчет засунуть - это его проблемы. bool не нравится. Нету у нас общего понимания что такое этот бул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 16:26 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovSashaMercurySharahov, если бы я был неправ, меня бы поправили другие участники. Вы не смогли обосновать свою точку зрения на данную проблему и чётко ответить на поставленный вопрос, Возможно, другие участники, как, впрочем, и я, не собираются учить Вас программированию за 21 день? очевидно не собираются. Aleksandr SharahovКак-то не хочется всерьез объяснять, что термин "разность" служит для обозначения результата, а сама соответствующая операция называется вычитанием. Устройство ЭВМ, системы счисления, битовые операции и т.п. базовые вещи обязан знать назубок любой начинающий программист. Начните с этого, и, может быть, тогда найдется больше желающих вас поправить. И еще одно. На форуме вы можете задавать сколько угодно вопросов, но требовать на них ответа вы не можете. Какие задачи мне решать и на какие вопросы мне отвечать, решаете не вы. в этой теме, получалось, что решал я. Правда отвечали вы хреново. Aleksandr Sharahov SashaMercuryи перешли на личные оскорбления. Ваши насмешки мне неинтересны, они только подчёркивают низкие качества вашей личности. Где именно вы увидели личные оскорбления в ваш адрес? Ссылку. Вы параноик? вы прекрасно понимаете о чём я . ваше сообщение видимо уже удалено. Aleksandr Sharahov SashaMercuryпропущено... Тогда к чему вы приводили мне ответ, если его не было. Я вас спросил, откуда эта цифра (ибо я думал что вы приводите правильный ответ)? Как вообще программа работает ? Вы мне должны были ответить-эта цифра неправильная, тк переполнение. А не нести ерунду, и устраивать дискут на пустом месте. Всё это время я думал что вы как-то уходите от переполнения и эта цифра, вполне реальная. И я просто не понимал как у вас получается якобы правильный ответ, которого быть не могло. И об этом я вам и талдычил постоянно-"Как ваша функция нашла этот правильный ответ". блаблабла . куча времени потраченного впустую. Не совсем так. Даже ребенку очевидно, что ваши исходные данные заставляют программу считать площадь квадрата со стороной 10^5. Правильный ответ, как вам должно быть известно равен 10^10. И само собой разумеется, ни одна программа в мире не сможет поместить его в результат типа integer. Результат вычислений получен в полном соответствии с известным принципом "мякину заложишь - мякину получишь". Правильный ли он? Вы этот вопрос не задавали, и я на него не отвечал. Я отметил лишь, что при вычислениях обязательно было переполнение. Если вы программист, то должны понимать, что в данном случае это означает неверный результат. Когда я давал вам пример, я не подумал что он выйдет за пределы 4Б. Когда прочитал от вас якобы правильный ответ, мне показалось странным, и я решил проверить, корректные ли входные данные я дал.( В целом они были бы корректные, если бы точка находилась ближе к краю, ибо вы не используете M*N в коде.) Оказалось что не корректные. Но ответ вы мне дали ! И я просто пытался узнать откуда он. Вам нужно было написать что он неверный. и всё. Aleksandr Sharahov SashaMercuryИ я практически уверен что код не ваш. Вы плаваете в элементарных вопросах. Дайте угадаю. Наверно, он ваш? Теперь уже похоже на то, что вы успешно окончили курсы "Жизнь за 21 день". нет. не мой, но автору спасибо. PS Крайне не люблю с кем то ругаться по таким глупым и пустым поводам, вы даже не представляете насколько мне это неприятно. Вы меня не понимаете или я вас не понимаю, в общем-то я сомневаюсь что мы друг другу что-то докажем.(и у меня нет желания). Потому я не буду больше вам отвечать и читать ваши сообщения. Слишком много нехороших настроений. Со своей стороны я себя так не вел по отношению к вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 01:59 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
С точки зрения логики я написал неверный функции, так будет лучше Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. Изменил массив shift ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 02:20 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Подумал, что если кто-нибудь не до конца понял алгоритм, лучше добавить рисунок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 04:27 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 04:28 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Сейчас листки убирал, заметил опечатку у себя. От каждого сдвига на границе внутреннего прямоугольника нужно отнять i, это количество углов внутреннего прямоугольника входящих в этот сдвиг(отнять нужно потому что эта точка дублируется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 06:33 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
[quot SashaMercury]в этой теме, получалось, что решал я. Правда отвечали вы хреново./quot] У меня совершенно противоположное мнение. Не умеете ни решать, ни вести себя. SashaMercuryКогда я давал вам пример, я не подумал что он выйдет за пределы 4Б пропущено... Но ответ вы мне дали ! И я просто пытался узнать откуда он. Вам нужно было написать что он неверный. и всё. Зачем давать тестовый пример, не зная ответа? Я рассуждал как программист. То что вы дали 2 теста, причем второе значение находится явно вне области допустимых значений параметра меня нисколько не смутило. Вы спросили, что выдает программа в обоих случаях. Я ответил. Какие тут претензии? Или каждый раз, когда у вас в программе возникает переполнение, вы ищете виновника на стороне? SashaMercuryнет. не мой, но автору спасибо. Не стоит благодарности. Код писал больше для себя. Надо же иногда немного расслабиться. SashaMercuryя не буду больше вам отвечать и читать ваши сообщения. Правильно, берите только код! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 10:29 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСейчас листки убирал, заметил опечатку у себя. От каждого сдвига на границе внутреннего прямоугольника нужно отнять i, это количество углов внутреннего прямоугольника входящих в этот сдвиг(отнять нужно потому что эта точка дублируется). Саш. А как ты себе понимаешь площадь прямоугольника на дискретной поверхности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:20 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
maytonSashaMercuryСейчас листки убирал, заметил опечатку у себя. От каждого сдвига на границе внутреннего прямоугольника нужно отнять i, это количество углов внутреннего прямоугольника входящих в этот сдвиг(отнять нужно потому что эта точка дублируется). Саш. А как ты себе понимаешь площадь прямоугольника на дискретной поверхности? Как мощность элементов принадлежащих данному прямоугольнику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 04:47 |
|
||
|
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
|
|||
|---|---|---|---|
|
#18+
Ну... ты ответил умно, но ниочём. Я не то имел в виду. Представь себе дискретную поверхность пикселов (ячеек, квадратиков e.t.c) Как ты думаешь, какую площадь должен иметь следующий прямоугольник? Код: plaintext 1. Конструктор задаёт левый верхний и правый нижний угол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 12:23 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38769539&tid=1341199]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 432ms |

| 0 / 0 |
