ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

28.09.2008, 19:45
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
? по С
Почему не компилируется?
# include <studio.h>
int main(){
float x;
float a = 1-2*x+3*x*x-4*x*x*x;
printf ("x=?\n");
scanf ('%s', &a);
printf('x = %d', a);
return 0;
}
|
|
|

28.09.2008, 19:50
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
И кавычки двойные везде, не одинарные
|
|
|

28.09.2008, 19:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Да даже если и скомпилить, то бред какой-то..
float x;
float a = 1-2*x+3*x*x-4*x*x*x;
2008-ая студия такое не скомпилит) Проверено сегодня лично!
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

28.09.2008, 19:58
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
Сообщение от 0x0c0de
И кавычки двойные везде, не одинарные
Спасибо! Глупая ошибка вышла.
А почему вот в этом коде получается всегда единица?
#include <stdio.h>
int main(){
float x;
float a=1-2*x+3*x*x-4*x*x*x;
printf ("Enter x, please:");
scanf ("%f",&x);
printf ("%f", a);
return 0;
}
|
|
|

28.09.2008, 20:05
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
Извините за глупый вопрос. Уже разобрался.
|
|
|

28.09.2008, 20:06
|
|
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме: 249855
Репутация:
52
|
|
Я понимаю так, что тебе по x нужно вычислить зн-ние функции a(x):
Код:
#include <stdio.h>
int main(){
float x,a;
printf("x=?\n");
scanf ("%f", &x);
a=1-2*x+3*x*x-4*x*x*x;
printf("a = %f\n", a);
return 0;
}
А почему вот в этом коде получается всегда единица?
Код:
float x;
float a=1-2*x+3*x*x-4*x*x*x;
Не инициализировал X (ввод из консоли например), а считаешь зн-ние a(x), неправильно.
upd. вводим (x); float a=1-2*x+3*x*x-4*x*x*x; выводим(a). А в gcc4.3 все хорошо компилиться.
Последний раз редактировалось Larionich; 28.09.2008 в 20:12..
|
|
|

28.09.2008, 20:52
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
У меня следующий вопрос:
Когда выдаёшь на экран число float, то он пишет например: 5.0000000
А как сделать, чтобы он писал 5, если после запятой нет цифр???
В питоне я знаю это делается приведнием переменной к сторке. А вот в С не знаю.
Помогите!
Заренее благодарен.
|
|
|

28.09.2008, 21:04
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
И ещё один вопрос:
Как обозначается в С возведение в степень?
|
|
|

28.09.2008, 21:07
|
|
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме: 369629
Репутация:
54
|
|
Код:
printf("%.0f",float_var);
2. pow(x,y); из math.h
Последний раз редактировалось FrMn; 28.09.2008 в 21:10..
|
|
|

28.09.2008, 21:11
|
|
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме: 249855
Репутация:
52
|
|
Когда выдаёшь на экран число float, то он пишет например: 5.0000000. А как сделать, чтобы он писал 5, если после запятой нет цифр???
Можно применить со4ный модификатор то4ности. 10 симнолов- на всё число, 3- на дробную часть:
Код:
printf("%10.3f", x);
Можно использовать операторы приведение типов(c ,c++):
Код:
float x=5.25626;
int a;
a=int(x);
В C++ существуют операторы const_cast и static_cast. Static_cast- это неполиморфное приведение:
Код:
float x=5.25626;
int a;
a=static_cast<int> (x);
upd
Как обозначается в С возведение в степень?
Можно так как написал FrMn, а можно так же result = exp(power*ln(base));
Последний раз редактировалось Larionich; 28.09.2008 в 21:16..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|