Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали (при счете слева направо), второе – номер горизонтали (при счете снизу вверх). Даны натуральные числа – a, b, c, d, e, f, каждое из которых не превосходит восьми. Определить, сможет ли белый слон, расположенный на поле (a, b), одним ходом пойти на поле (e, f), не попав при этом под удар черного ферзя, находящегося на поле (c, d). Я написал что-то, но не понимаю, что не так, помогите! Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 19:37 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
des666sarЯ написал что-то, но не понимаю, что не так, помогите! Не так то, что ты написал просто какой-то бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 21:01 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
des666sar Код: plaintext 1. 2. 3. 4. 5. Слон не ходит по горизонтали/вертикали, это не ладья. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 21:32 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
Автор. Считай дельты. P.S. С конём было бы интереснее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 22:24 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
des666sar,не проверял то что написал, протестируйте сами, и проверьте все ли условия учтены Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 02:57 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercury, проверять double на равенство — плохая идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 10:31 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
RWolfSashaMercury, проверять double на равенство — плохая идея. то есть вы хотите сказать что операция сравнения не применима(некорректна) к типу double ? Судя по всему это не так: ISO/IEC 9899:201x 6.5.9 Equality operatorsSyntax 1 equality-expression: relational-expression equality-expression == relational-expression equality-expression != relational-expression Constraints 2 One of the following shall hold: — both operands have arithmetic type; каких-то комментариев в стандарте об особенности использования == к типам double(который принадлежит arithmetic type ) не встретил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 13:49 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercury, double как и float неточно маппят целое число в свой диапазон. Они в некотором роде напоминают хеш целого числа. Вобщем я щас не готов указать нужные условия. Возможно для шахмат это и прокатит но в целом погрешность кастинга к floating-point имеет место уже на этапе присваивания. Кроме того есть нюансы с грязным нулём. Их два. +0.0 и -0.0. Есть нюансы со спец-константой типа NaN (не число) и бесконечностями. Они .. понятное дело не мапятся в обратную сторону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 14:02 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
mayton, верю. Странно, что в стандарте про это не написали. Тогда вообще нельзя применять операцию сравнения к подмножеству типов float. Если эти проблемы не устранены. Автор топика, в таком случае проверяйте квадраты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 14:07 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercurymayton, верю. Странно, что в стандарте про это не написали. Какой стандарт ты имеешь в виду? Язык программирования не постулирует алгебры floating-point. Он обычно (99%) поддерживает какую-то существующую программно-аппаратную архитектуру. И просто ссылается на нее. Нюансы могут быть в обработке исключений, в кастингах при выполнении операций. Ну и конечно (хе-хе) вывод на экран. По сабжу - самая коварная вещь и грабель с топором для новичка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 14:55 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
maytonАвтор. Считай дельты. P.S. С конём было бы интереснее... Ты уверен, что фигура в данном случае важна ? Я вот совсем не уверен. Т.е. даже наоборот -- уверен, не важна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 15:58 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercurymayton, верю. Странно, что в стандарте про это не написали. Тогда вообще нельзя применять операцию сравнения к подмножеству типов float. Да, как ни странно. Т.е. на самом деле можно, иногда, если знаешь, что делаешь. SashaMercuryЕсли эти проблемы не устранены. Нет, эти "проблемы" не устранены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 16:01 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
Я просто вспомнил шахматные задачки которые решал на сях. Конь - самая интересная фигура. Ходя в данной задачке. В один ход. Пожалуй да. Тривиально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 16:09 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 16:44 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
MasterZivSashaMercurymayton, верю. Странно, что в стандарте про это не написали. Тогда вообще нельзя применять операцию сравнения к подмножеству типов float. Да, как ни странно. Т.е. на самом деле можно, иногда, если знаешь, что делаешь. SashaMercuryЕсли эти проблемы не устранены. Нет, эти "проблемы" не устранены 1) тогда почему не написали про integer types\enumaration types, вместо aritmetic types=integer types\enumaration types+floating types ? 2) Очень странно. Тип данных подразумевает не только объем памяти выделяемый на объект и способ чтения этой памяти, но операции которые можно к нему применять. А если в случае операции сравнения мы имеем UB, то эту операцию вообще нельзя применять. В ней нет смысла, потому что она недостоверна. 3) Приведите пожалуйста пример, когда сравнение двух наверняка эквивалентных значений даст неверный результат. fe Код: plaintext 1. 2. 3. рисует 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 01:58 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
Информация к размышлению. wiki0x 0000 0000 0000 0000 = 0.0 0x 8000 0000 0000 0000 = –0.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 02:21 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
но сравнил то он их корректно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 02:26 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SSMasterZivпропущено... Да, как ни странно. Т.е. на самом деле можно, иногда, если знаешь, что делаешь. пропущено... Нет, эти "проблемы" не устранены 1) тогда почему не написали про integer types\enumaration types, вместо aritmetic types=integer types\enumaration types+floating types ? 2) Очень странно. Тип данных подразумевает не только объем памяти выделяемый на объект и способ чтения этой памяти, но операции которые можно к нему применять. А если в случае операции сравнения мы имеем UB, то эту операцию вообще нельзя применять. В ней нет смысла, потому что она недостоверна. 3) Приведите пожалуйста пример, когда сравнение двух наверняка эквивалентных значений даст неверный результат. fe Код: plaintext 1. 2. 3. рисует 1 1) Непонятно почему. Должны были написать следующее: сравнение FT производится по норме FT. 2) Можно применять сравнение по норме, и это нудно было прокомментировать в стандарте. И хотя в стандарте об этом написано, но намного позже, и по другому: ISO/IEC 9899:201xDBL_EPSILON 2.2204460492503131E-16 // decimal constant 3) Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 03:22 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
RWolfSashaMercury, проверять double на равенство — плохая идея. Сравнение целых чисел приведенных к FTвсегда будет корректным. Сравнение чисел имеющих различие в 17 знаке после запятой должно быть рассмотрено особым образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 03:25 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryRWolfSashaMercury, проверять double на равенство — плохая идея. Сравнение целых чисел приведенных к FTвсегда будет корректным. Сравнение чисел имеющих различие в 17 знаке после запятой должно быть рассмотрено особым образом. число 17 варьируется в зависимости от конкретного типа FT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 03:37 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
Саш. Скажи пожалуйста. А зачем ты в шахматной задаче использовал кастинг в double? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 09:57 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСравнение целых чисел приведенных к FTвсегда будет корректным. Сравнение чисел имеющих различие в 17 знаке после запятой должно быть рассмотрено особым образом. Спору нет. А вот если из целого числа извлечь корень, а потом возвести в квадрат и сравнить с оригинальным, то сравнение может уже и не дать правильного результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 09:58 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
maytonСаш. Скажи пожалуйста. А зачем ты в шахматной задаче использовал кастинг в double? мне показалось что abs принимает FT. Ошибся ? Сейчас в стандарте посмотрел, оказывается нет. А VS выводил подсказу о том, что тип параметра должен быть double ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 10:03 |
|
||
|
Помогите пожалуйста написать программу на с++
|
|||
|---|---|---|---|
|
#18+
SashaMercurymaytonСаш. Скажи пожалуйста. А зачем ты в шахматной задаче использовал кастинг в double? мне показалось что abs принимает FT. Ошибся ? Сейчас в стандарте посмотрел, оказывается нет. А VS выводил подсказу о том, что тип параметра должен быть double Какие пустяки. Мы в смежном форуме разработали кучу макросов для abs(...). Готовое (и наверное лучшее решение) есть в библиотеке std. Для всех типов данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 10:14 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38865103&tid=2019134]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 297ms |
| total: | 456ms |

| 0 / 0 |
