9.09.2014 / 18:43 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, double пробуй, а не float. Да, в NB с Си сложновато. Могу Code::Blocks посоветовать.
__________________
let live Изменено aNNiMON (9.09 / 18:44) (всего 1 раз) |
9.09.2014 / 20:08 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| aNNiMON, ошибка из-за того, что компилятор не знает где реализация math http://stackoverflow.com/quest...nce-to-pow-and-floor Только исправить не получилось. |
9.09.2014 / 20:48 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Все скомпилилось, запустилось, работает, но почему терминалу пофиг на scanf, т.е. можно вводить все что угодно
|
9.09.2014 / 20:57 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, это нормально. Теперь понимаешь, за что я так ненавижу C++? __________________
let live Изменено aNNiMON (9.09 / 20:58) (всего 1 раз) |
12.09.2014 / 16:56 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| В чем разница? И как правильно? 1: int var = 0;
func(&var);
void func(int *p) {
(*p)++;
}
2: int var = 0;
func(var);
void func(int& p) {
p++;
}
Изменено Naik (12.09 / 16:57) (всего 2 раза) |
12.09.2014 / 17:10 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, аксиома Эскобара.
В первом значение изменяется по ссылке с помощью указателей. В func передаётся не значение, а ссылка на ячейку переменной var в памяти. Затем внутри метода указатель на переменную разыменовывается и увеличивается уже значение.
Во втором та же передача по ссылке, только уже без указателя. То есть p не локальная переменная, как в Java, а ссылка, и значит изменяя p, будет изменяться var. Вот только я не уверен насчёт вызова функции, по-моему там тоже надо func(&var).
__________________
let live Изменено aNNiMON (12.09 / 17:11) (всего 1 раз) |
12.09.2014 / 18:19 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| aNNiMON, Не, работает и так.
|
18.09.2014 / 09:37 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| http://q.viva64.com/Можно попрактиковать навык поиска ошибок в коде на C++ Есть объяснения ошибок по завершению вопроса, иногда очень полезно. К тому же видно какой код у того или иного открытого проекта. __________________
let live |
19.09.2014 / 20:53 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| int main() {
int a = 1;
func(a) = 5;
printf("%d", a);
return EXIT_SUCCESS;
}
int& func(int& p) {
p++;
return p;
}
угадайте что выведет Изменено Naik (19.09 / 20:55) (всего 1 раз) |
19.09.2014 / 20:57 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, ошибку, так как func должен быть до main (если ты не пользуешься хедерами)
__________________
let live |