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

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, 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..
|
|
|

02.10.2008, 23:20
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
Почему он не правильно вычисляет t1 и t2?
Код:
# include <stdio.h>
# include <math.h>
int main() {
float a;
float b;
float c;
float d;
float t;
float t1;
float t2;
float x1;
float x2;
float x1t1;
float x2t1;
float x1t2;
float x2t2;
printf("Enter a, please: ");
scanf("%f", &a);
printf("Enter b, please: ");
scanf("%f", &b);
printf("Enter c, please: ");
scanf("%f", &c);
d=pow(b,2)+4*a*c;
if (d<0) {
printf("D<0 => this equation has not radicals");
} else if (d=0) {
t=-b/2*a;
if (t<0) {
printf("X^2 < 0 => this equation has not radicals");
} else {
x1=pow(t,0.5);
x2=-pow(t,0.5);
printf("X1 = %f", x1);
printf("X2 = %f", x2);
}
} else {
t1=(-b+pow(d,0.5))/2*a;
t2=(-b-pow(d,0.5))/2*a;
if (t1>=0 and t2>=0) {
x1t1=pow(t1,0.5);
x2t1=-pow(t1,0.5);
x1t2=pow(t2,0.5);
x2t2=-pow(t2,0.5);
printf("X1 = %f", x1t1);
printf("X2 = %f", x2t1);
printf("X3 = %f", x1t2);
printf("X4 = %f", x2t2);
} else if (t1>=0 and t2<0) {
x1t1=pow(t1,0.5);
x2t1=-pow(t1,0.5);
printf("X1 = %f", x1t1);
printf("X2 = %f", x2t1);
} else if (t1<0 and t2>=0) {
x1t2=pow(t2,0.5);
x2t2=-pow(t2,0.5);
printf("X1 = %f", x1t2);
printf("X2 = %f", x2t2);
} else if (t1<0 and t2<0)
printf("This equation has not radicals");
}
}
Последний раз редактировалось VIP; 02.10.2008 в 23:23..
|
|
|

29.09.2008, 21:12
|
|
Новичок
Регистрация: 12.06.2008
Сообщений: 2
Провел на форуме: 49806
Репутация:
0
|
|
Здраствуйте. Подскажите пожалуйста:
Делаю программу в Borland Turbo C++, пытаюсь сохранить файл с именем, которое уже изспользуеться, через SaveDialog. При сохранении прога просто затирает старый файл. А как сделать, что бы после того, как нажал "Сохранить", прога проверяла есть ли уже файл с таким именем и, если есть, выводила диалоговое окно типа "Заменить", "отменить" и т.д.?
|
|
|

29.09.2008, 23:24
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Ну проверь, существует ли файл. Диалог то тебе имя файла возвращает.
|
|
|

30.09.2008, 00:23
|
|
Участник форума
Регистрация: 02.01.2008
Сообщений: 116
Провел на форуме: 1013405
Репутация:
58
|
|
программа закрывается сильно быстро, что я неуспеваю посмотреть хелоу ворлд.
вот код:
#include <iostream.h>
int main()
{
cout << "Hello World!\n";
char response;
std::cin >> response;
return 0;
}
компилятор VS2008 (С++)
это так и должно быть? или я туплю где то?
Последний раз редактировалось D1mka; 30.09.2008 в 00:30..
|
|
|

30.09.2008, 00:45
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
getchar(); поставь и смотри на здоровье 
|
|
|

30.09.2008, 00:46
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
#include <conio.h>
и getch(); добавь в конец кода!!
|
|
|

30.09.2008, 00:58
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Не надо использовать <conio.h>. Это зло.
|
|
|
|
 |
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|