Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:КР по ОАиП / 3 / 3
.cpp#include <iostream.h>
#include <iomanip.h>
#include <math.h>
double Summa (double, int);
void Summa (double*, int*,double*);
void Summa (double&, int&,double&);
int main()
{
double s, x, a, b, h;
int k;
cout << "Vvedite a, b, h, k:" << endl;
cin >> a >> b >> h >> k; // Ввод значений: 0.1 1 0.1 20
cout << "\n Value"<<setw(20)<<"Pointer"<<setw(24)<<"Reference\n";
x = a;
do // Начало цикла по x
{ // Вывод таблицы
cout << setw(5) << x << setw(10) << Summa (x, k);
Summa (&x, &k,&s);
cout << setw(10) << x << setw(10) << s ;
Summa (x, k, s);
cout << setw(10) << x << setw(10) << s<< endl;
x += h; // Изменение значения x на величину шага h
}
while (x <= b + h/2); // Проверка условия продолжения цикла по x
cout << endl; // Переход на новую строку
return 0;
}
double Summa (double x, int k)
{
double s;
int i;
s = 2; // Начальное значение при k=0
for (i = 1; i <= k; i++) // Вычисление суммы
s += 2*pow(x, i) / pow(cos(x), i);
return s;
}
void Summa (double *x, int *k, double *s)
{
int i;
*s = 2; // Начальное значение при k=0
for (i = 1; i <= *k; i++) // Вычисление суммы
*s += 2*pow(*x, i) / pow(cos(*x), i);
}
void Summa (double &x, int &k, double &s)
{
int i;
s = 2; // Начальное значение при k=0
for (i = 1; i <= k; i++) // Вычисление суммы
s += 2*pow(x, i) / pow(cos(x), i);
}