• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача на Си

gromobedg

Ученик
Регистрация
13 Ноя 2012
Сообщения
1
Реакции
0
Баллы
0
Задача на Си

Разработать программы, вычисляющие приближенные значения следующих элементарных функций в указанном диапазоне значений х. На вход программы подается:
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;
}
//выводит неправильный ответ(
 

Вложения

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