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

Функция с синусом. - C++

Восстановить пароль Регистрация
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
22.02.2011, 21:15     Функция с синусом. #1
Ув. форумчане, требуется ваша помощь. Требуется рекурсивно решить такую задачу: есть ф-ция 1-син(х) вывести на экран значения этой функции в n точках. Точки получаем по след. алгоритму: получаем 2 числа: а<б делим б-а на n - узнаем шаг от а до след. точки. но, ф-ция неправильно считает синус. независимо от промежутка выдает первым результатом 0. а все остальные - абсолютно неправильно. Помогите, пожалуйста.
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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <stdio.h>
using namespace std;
#include <math.h>
long  double func(long  double &x,  long  double b, long  double h)
{
long  double y;
    if(x>=b) {Sleep(5500);return 0;}
        y=1-sin(x);
        x+=h;
        cout<<func(x,b,h)<<" ";
        return y;
}
void main()
{
    setlocale(LC_ALL, "Russian");
    long  double a,b,h,x;
    int n;
    cout<<"Программа рекурсивно вычисляет значения функции 'у=1-sin(x)'\n в n точках на промежутке [a,b].\n"<<"\nВведите нижнюю границу исследования функции 'a': ";
    cin>>a; 
    cout<<"\nВведите верхнюю границу исследования функции 'b': ";
    cin>>b;
    if(a>b){system("CLS");cout<<"Ой! Ошибка! 'а' должно быть меньше 'b'";Sleep(5500);return;}
    cout<<"\nВведите колличество точек для исследования: ";
    cin>>n;
    h=(b-a)/n;
    x=a;
    func(x,b,h);
    system("pause");
}
Добавлено через 2 часа 4 минуты

Не по теме:

ВРУ! Все правильно считает, только первый раз почему-то получается 0



Добавлено через 37 минут

Не по теме:

ВРУ! Все правильно считает, только первый раз почему-то получается 0
выполняется ветвь по иф икс равно б

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2011, 21:15     Функция с синусом.
Посмотрите здесь:

C++ Функция y=f(x)
C++ функция
функция C++
C++ Функция С++
функция C++
функция ln с++ C++
Функция в с++ C++
Функция с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13964 / 8795 / 1223
Регистрация: 24.12.2010
Сообщений: 15,930
22.02.2011, 21:20     Функция с синусом. #2
1. Попробуй x в функции сделать без амперсенда.
2. В любом случае вывода не происходит, пока все рекурсии не кончатся. Т.е. твоя прога выводит результаты с конца.
3. Попробуй печатать промежуточные x, y - может тогда и поймешь, в чем дело

Добавлено через 2 минуты
vaselo, Ну если ВРЕШЬ, тогда извини.
И прости за нескромность, на фига тебе сдалась здесь рекурсия?
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
22.02.2011, 21:24  [ТС]     Функция с синусом. #3

Не по теме:

все, спасибо за ответ. разобрался. а рекурсия была по условию лабораторки. а выполняла действие прога из-за прихода к конечному условию выхода. только вот странно!: ввожу 1.2 4 точки. выводит 1 и 3 значения. не понятно, почему 1 выводится первым

ВСе, всем спасибо, тема закрыта
Yandex
Объявления
22.02.2011, 21:24     Функция с синусом.
Ответ Создать тему
Опции темы

Текущее время: 06:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru