Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задача на Си (http://www.tehnari.ru/f41/t80425/)

gromobedg 13.11.2012 12:31

Задача на Си
 
Вложений: 1
Разработать программы, вычисляющие приближенные значения следующих элементарных функций в указанном диапазоне значений х. На вход программы подается:
1.Количество используемых членов ряда–n.
2.Точкаx,в которой требуется вычислить приближенное значениеf(x).Проверить полученные результаты для допустимыхx,сравнив их с эталонными значениями приближаемых функций.
#include <stdio.h>
#include <conio.h>

int fact(int x) {
int result = 1;
for (int i = 1; i <= x; i++) {
result *= i;
}
return result;
}

main()
{
float n,x,a=1,z;
printf("Input n:");
scanf("%f", &n);
printf("Input x:");
scanf("%f", &x);
for(z=1;z<=n;z++){
a = a + x / fact(z);
x=x*x; }
printf("Result: %f", a);
getch();
return 0;
}
//выводит неправильный ответ(

Vladimir_S 13.11.2012 12:44

Цитата:

Сообщение от gromobedg (Сообщение 818896)
//выводит неправильный ответ(

Угу. Что естественно.
К сожалению, на С я не пишу, а поэтому попробую изложить алгоритм, как правильно.
1. Функция Fact здесь не нужна вовсе.
2. Вводим различные идентификаторы для слагаемого (a) и для суммы (S). Исходные значения:
a = 1
S = 1
3. Цикл строим так:
a = a*x/z
S = S + a


Часовой пояс GMT +4, время: 19:24.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.