Помогите Найти Ошибку

Google313

New Member
23.10.2013
1
0
#1
Задание: Вычислить Y(x) и S(x). (где x принадлежит диапазону [a,b]) Y(x) и S(x) реализовать в виде отдельных функций.
Продемонстрировать следующие способы передачи аргументов в вызываемые функции: по значению, указателю и ссылке.
S(x) = (cos(k*Pi / 4)/!k)*pow(x,k)
Y(x) = exp(x*cos(Pi / 4))*cos(x*sin(Pi / 4))
Работу программы проверить для a=0,1; b=0,8; h=0,1

Очень прошу помочь. Хотя бы для одного случая. С другими я думаю по аналогии разберусь.
P.S. Много раз слышал что в С нету ссылочного типа данных. Если есть, то как это реализовать? Заранее спасибо.

C++:
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "locale.h"
#include <process.h>
#include <windows.h>
#pragma warning(disable : 4996)
#define Pi 3.1415926

double func(int k, double x)
{
int s, fac = 1;
for (int i = 1; i < k; i++)
fac *= i;
s = (cos(k*Pi / 4)/fac)*pow(x,k);
return s;
}

float func_2(double *x)
{
int y;
y = exp(*x*cos(Pi / 4))*cos(*x*sin(Pi / 4));

return y;
}



int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "Russian");


double a,b,h;
int s, y, k;
double x;
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) |	Y(x)-S(x) |");
puts("----------------------------------------- ");
s = func(k,x);
y = func_2(&x);
return 0;
}
Вот что-то написал но код не работает(Если не сложно, подскажите как правильно.