ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

? по С
  #1641  
Старый 28.09.2008, 19:45
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию ? по С

Почему не компилируется?

Цитата:
# 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;
}
 

  #1642  
Старый 28.09.2008, 19:50
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

Код:
 
# include <stdio.h>
И кавычки двойные везде, не одинарные
 

  #1643  
Старый 28.09.2008, 19:56
desTiny
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
 

  #1644  
Старый 28.09.2008, 19:58
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

Цитата:
Сообщение от 0x0c0de  
Код:
 
# include <stdio.h>
И кавычки двойные везде, не одинарные
Спасибо! Глупая ошибка вышла.

А почему вот в этом коде получается всегда единица?

Цитата:
#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;
}
 

  #1645  
Старый 28.09.2008, 20:05
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

Извините за глупый вопрос. Уже разобрался.
 

  #1646  
Старый 28.09.2008, 20:06
Larionich
Новичок
Регистрация: 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..
 

  #1647  
Старый 28.09.2008, 20:52
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

У меня следующий вопрос:

Когда выдаёшь на экран число float, то он пишет например: 5.0000000

А как сделать, чтобы он писал 5, если после запятой нет цифр???

В питоне я знаю это делается приведнием переменной к сторке. А вот в С не знаю.

Помогите!

Заренее благодарен.
 

  #1648  
Старый 28.09.2008, 21:04
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

И ещё один вопрос:

Как обозначается в С возведение в степень?
 

  #1649  
Старый 28.09.2008, 21:07
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

Репутация: 54
По умолчанию

Код:
printf("%.0f",float_var);
2. pow(x,y); из math.h

Последний раз редактировалось FrMn; 28.09.2008 в 21:10..
 

  #1650  
Старый 28.09.2008, 21:11
Larionich
Новичок
Регистрация: 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)
 


Быстрый переход




ANTICHAT.XYZ