Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
drtork
2 / 2 / 0
Регистрация: 26.09.2009
Сообщений: 29
#1

Вычисление значений функции - C++

01.10.2009, 20:15. Просмотров 652. Ответов 4
Метки нет (Все метки)

Есть вот такой код на Си. Вопрос: как обработать ситуации, которые описаны в цикле while? Т.е. нужно, чтобы прога не просто отказывалась вычислять функцию "от большего к меньшему", при отрицательном или нулевом шаге, а вычисляла, например, при подобном задании пределов всё корректно, но, скажем, в обратном порядке...а при нулевом шаге и\или равных пределах - только одно значение функции... Буду признателен, если кто-нибудь подскажет что и как...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
        FILE *fp;
        double y, x1, x2, a, b;
        if((fp = fopen("C:\\res.txt", "w")) == NULL)
                {
                 perror("C:\\res.txt");
                 return 1;
                }
        while(a>=b || x2<=0)
                {
                 printf("Vvedite shag i predely a i b:\n");
                 scanf("%lf%lf%lf", &x2, &a, &b);
                }
        printf("Znachenie funkcyi na otrezke ot %.*f", 2, a);
        printf(" do %.*f", 2, b);
        printf(" s shagom %.*f", 2, x2);
        printf(" ravno:\n");
        for (x1=a; x1<=b; x1+=x2)
                {
                 y=pow(5,(x1+1))+pow(5,x1)+pow(5,(x1-1));
                 printf(" Resultat: %.*f\n", 2, y);
                 fprintf(fp, " Resultat: %.*f\n", 2, y);
                }
        //getch();
        fclose(fp);
        printf("Vvedite x:\n");
        scanf("%lf", &x1);
        y=pow(5,(x1+1))+pow(5,x1)+pow(5,(x1-1));
        printf(" Resultat: %.*f\n", 2, y);
        getch();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2009, 20:15     Вычисление значений функции
Посмотрите здесь:

Вычисление значений функции - C++
Тема: «Программирование циклических алгоритмов» Для решения задачи использовать операторы for, while, do 1 Вычисление значений...

Вычисление значений функции - C++
Доброго времени суток! Помогите с одной задачей.Надо построить таблицу значений(функция y=ln(x/(x-2))). Если в некоторой точке x функция...

Вычисление значений функции - C++
Составить программу для вычисления значений заданной функции, используя исходные данные:

Вычисление значений периодической функции - C++

Вычисление значений функции разложением в ряд - C++
Дали лабу по определению точности. Может кто помочь написать программу так как у меня всегда выходит не так, как нужно. ( В примере...

Вычисление и печать таблицы значений функции - C++
Задание:Составить программу вычисления и печати таблицы значений функции при заданных значениях параметров. Формула в прикрепленном файле....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2009, 20:26     Вычисление значений функции #2
сразу после ввода:

C++
1
2
3
4
if (a > b){
    ::swap (a,b);
}
c = ::abs (c);
а дальше все как обычно.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.10.2009, 20:29     Вычисление значений функции #3
Покажи форумулу для вычисления самой функции или оригинальное задание.
А то гадать правильно ли ты вообще написал не хочется.
drtork
2 / 2 / 0
Регистрация: 26.09.2009
Сообщений: 29
01.10.2009, 22:27  [ТС]     Вычисление значений функции #4
Формула: y=pow(5,(x1+1))+pow(5,x1)+pow(5,(x1-1)) Не нашёл как здесь это писать в "обычном виде", ну вобщем y=(5^(x+1))+(5^x)+(5^(x-1)).. не знаю как ещё написать)) А написано всё правильно(билдер всё компилит и считается функция правильно(вручную перепроверил), в файл сохраняет и т.д.).
Цитата Сообщение от novi4ok Посмотреть сообщение
C++
1
2
3
4
if (a > b){
 ::swap (a,b);
}
c = ::abs (c);
я так понимаю, здесь просто a и b меняются местами, а "с" берётся по модулю, да? а вот как этим пользоваться что-то непойму? мы же не можем просто вызвать ф-цию, нигде не описаную...гдето ж должен быть прототип, или я недогоняю чего-то? а с "c = ::abs (c)" разобрался - работает - спасибо)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2009, 23:19     Вычисление значений функции
Еще ссылки по теме:

Вычисление значений функции на заданном интервале - C++
F(x)=2cosx-1 на отрезке с шагом h мучаюсь, с этим не получается, надо While, for , do while. очень прошу)

Цикл: Вычисление значений заданной функции - C++
Помогите на С++

Вычисление значений функции на заданном интервале - C++
Доброй ночи) Дорогие программисты) Прошу вас помочь мне с этим делом) с++ программа требуется написанная с помощью операторов While, do...

Вычисление значений функции разложением в ряд Тейлора - C++
Дано вещественное число X (|X| &lt; 1) и целое число N &gt; 0. Написать функцию для вычисления суммы Σ = x - x2/2 + x3/3 - ... + (-1)N-1xN/N....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.10.2009, 23:19     Вычисление значений функции #5
Тут можно прямо в форум выложить картинку с форумулой.

Добавлено через 5 минут
for (x1=a; x1<=b; x1+=x2)
Если a == b, то программа и так должна вычислять только одно значение.
Yandex
Объявления
01.10.2009, 23:19     Вычисление значений функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru