1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| sheka |
7.10.2011 22:44
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
pow() некорректно работает если используется инкремент или декремент в его параметрах.
Задание: Совершая обход так: 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 заполнить матрицу а такими значениями: b11b12...bnn Kod (Показать/Скрыть)
В таком исполнении pow(b[k++ / N], k % N + 1); работает так как надо (еще недавно и так не работал, но теперь почему-то работает): результат (Показать/Скрыть)
а в таком pow(b[k / N], ++k % N + 1); - нет: результат (Показать/Скрыть)
Сообщение отредактировано: sheka - 8.10.2011 0:02 |
![]() ![]() |
| sheka |
8.10.2011 22:05
Сообщение
#2
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Хм, я как бы понимаю, что вначале значение пропустило, а поэтому потом что-то дорисовало. Но я думал что в этом виноват pow, и никак не ++.
Компилятор GNU GCC (CodeBlocks 10.05) ничего не выдает. Объясните, пожалуйста, что делает ++ ужасного. Сообщение отредактировано: sheka - 8.10.2011 22:05 |
| Lapp |
9.10.2011 6:42
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Но я думал что в этом виноват pow, и никак не ++. Я извиняюсь, что встреваю. Просто "понравился" образ мысли, не смог удержаться )).Шека, тут виноват не ++, и не Pow(), виноват ты сам. Во всех случаях прежде всего надо подозревать себя самого. Всякий раз, когда тебе хочется написать что-то вроде "pow() некорректно работает" - вспомни, что миллионы и миллионы программистов работают и не жалуются.. )) Я согласен, ++ - это жутко хитрая штука. Я помню случай, когда я искал ошибку дня два в довольно несложном коде.. и еще несколько случаев помельче - он же не только в C/C++, он мне портил кровь и в PHP, и в Java.. Но я все равно его очень люблю и запрещать не стал бы )). P.S. Я думал, что на этом форуме, благодаря стараниям volvo/IUnknown (и не только), никто не будет вот так сразу валить на компилятор.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
sheka pow() 7.10.2011 22:44
IUnknown Главное, ничего не сказал, в чем корявость, что не... 7.10.2011 22:55
sheka Исправил. 8.10.2011 0:01
IUnknown Ты на самом деле думаешь, что оба эти фрагмента де... 8.10.2011 1:23
TarasBer Я бы вообще запретил ++ в составе сложных выражени... 8.10.2011 18:27
TarasBer
Объясните, пожалуйста, что делает ++ ужасного.
h... 9.10.2011 13:52
IUnknown Неправда. Зайди в Project -> Build Options, в C... 8.10.2011 22:27
sheka Volvo,
Вычисление логических выражений по коротко... 13.10.2011 16:48
IUnknown Я не про вычисление логических выражений. Я про
in... 13.10.2011 17:28![]() ![]() |
|
Текстовая версия | 13.12.2025 18:43 |