#include <stdio.h>
#include<conio.h>
#include <math.h> void main(void)
{
double f,z,x;
int m;
printf("vvedite x=");
scanf("%lf",&x);printf("vvedite m=");scanf("%d",&m);
if (x>10)f=sin(3*x);
else if(x<10) f=3*x;else f=cos(x);
printf("x=%.1lf,f=%.3lf",x,f);
switch(m){
case 3:z=tan(x);break;
case 5,2:z=log(abc(-m));break;
default:z=sin(m);
}
printf("x=%.1lf,m=%d,z=%.3lf\n",x,m,z);
}
Вот, исправил некоторые ошибки в Вашем коде, компилируется, выполняется...
#include <stdio.h>
#include <math.h>
int main()
{
double f,z,x;
int m;
printf("vvedite x = ");
scanf("%lf",&x);
printf("vvedite m = ");
scanf("%d",&m);
if (x > 10.0) f = sin(3.0 * x); // сравнивать числа с пл. точкой лучше через эпсилон
else if(x < 10.0) f = 3.0 * x;
else f = cos(x);
printf("x = %.1lf, f = %.3lf\n", x, f); // тут добавил \n
switch(m)
{
case 3:
z = tan(x);
break;
case 5: case 2: // тут была ошибка
z = log(abs(-m)); // тут была ошибка
break;
default:
z = sin(m);
break;
}
printf("x = %.1lf, m = %d, z = %.3lf\n", x, m, z);
return 0;
}
Пример работы:
vvedite x = 11.0
vvedite m = 5
x = 11.0, f = 1.000
x = 11.0, m = 5, z = 1.609
Заметьте, f
округлено с 0.9999...
. Что касается точности сравнения чисел с плавающей точкой - то Вы вводите эпсилон (точность), например, 10^-3 и сравниваете Ваше число с некоторым плюс или минус этот самый эпсилон. Например, посмотрите этот вопрос.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не могу понять как реализовать этот метод на с++ Нашел много примеров программ но они полностью не подходят, помогите плизВот пример который...
Добрый деньПодскажите, пожалуйста, в чем может быть ошибка