IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Разложение Sin(x) по формуле Тейлора, язык Си
сообщение
Сообщение #1


Влюблённый псих
***

Группа: Пользователи
Сообщений: 185
Пол: Женский
Реальное имя: Лейла

Репутация: -  1  +


Программа должна раскладывать Sin(x) по формуле Тейлора. Какой бы я не ввел x, все члены ряда (temp) равны 0, и в результате сумма членов тоже. Подскажите плиз где я ошибся? Кстати, когда я вместо float temp,x,f пишу int temp,x,f, ответы уже не 0, но все равно не те. не могу понять в чем дело!

#include <stdio.h>
int main(void)
{int i; int k;
int n;
float temp; float x; float f;
printf("введите количество членов ряда: ");
scanf("%d",&k);
printf("Enter x: ");
scanf("%d",&x);
temp=x/1; f=x/1;
printf ("%d\n",temp);
n=1;
for (i=1; i<k; i++)
{
temp=(-1)*(temp*((x*x)/((n+1)*(n+2))));
printf("%d\n",temp);
n=n+2;
f=f+temp;
}
printf("Sin(x) = %d\n", f);
return 0;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Ты же перепутал все типы - работаешь с float, а печатаешь его как int ...

#include <stdio.h>

int main(void) {
int i; int k; int n;
float temp; float x; float f; // <--- X

printf("введите количество членов ряда: ");
scanf("%d",&k);
printf("Enter x: ");
scanf("%f",&x); // <--- смотри на спецификатор

temp=(float)x/1; f=(float)x/1; // Здесь нужно явное приведение типов
printf ("%f\n",temp);
n=1;
for (i=1; i<k; i++) {
temp=(-1)*(temp*((x*x)/((n+1)*(n+2))));
printf("%+12.10f\n",temp); // Увеличиваем поле вывода
n=n+2;
f=f+temp; // Можно f += temp;
}

printf("Sin(x) = %+12.10f\n", f); // Тоже работаем с float
return 0;
}

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Влюблённый псих
***

Группа: Пользователи
Сообщений: 185
Пол: Женский
Реальное имя: Лейла

Репутация: -  1  +


Точно! Спасибо...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 20:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name