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

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

Войти
Регистрация
Восстановить пароль
 
Google313
Заблокирован
#1

Ошибка - C++

24.10.2013, 20:13. Просмотров 189. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста исправить ошибку.

Задание:Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону [a,b]) реализовать в виде отдельных функций. При выполнении задания продемонстрировать следующие способы передачи аргументов в вызываемые функции: по значению, указателю и ссылке.
В основной функции организовать ввод исходных данных, обращение к функциям и вывод результатов в виде таблицы. Работу программы проверить для a=0,1; b=0,8; h=0,1.
Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность их вычисления.

Вот код :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <process.h>
#include "math.h"
#include <stdio.h>
#include <locale.h>
#define Pi 3.1415926
 
double Y ( double x)
{
    return exp(x*cos(Pi / 4))*cos(x*sin(Pi / 4));
}
 
double S (double *k, double *x, double *n)
{
 
    int p=1;
    int sum = 0;
    for (*k = 0; *k < *n; *k++)
    {
        p *= *x/(*k);
        sum += p*cos(*k*Pi/4);
 
    }
    return sum;
 
}
 
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    double k,x,a,b,h,n;
    system("cls");
    fflush(stdin);
    printf("Введите a:");
    scanf_s("%lf", &a);
    printf("Введите b:");
    scanf_s("%lf", &b);
    printf("Введите h:");
    scanf_s("%lf", &h);
    printf("\n");
    puts("   x  |   Y(x)  |  S(x) ");
    puts("----------------------------------------- ");
    x = a;
    x += h;
    do{
        printf("\n %.2lf | %.5lf \n", S(&k,&x,&n), Y(x) );
        
  } while (a<=b);
system ("pause");
    return 0;
}
После выполнения наблюдается следующая картина: Появляются строки Введите a,b,h а после ввода он считает совершенно не то. И до бесконечности. В чём проблема?Подскажите пожалуйста.
Миниатюры
Ошибка   Ошибка  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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