Табулирование функции
Помоги решить задачу,не как не могу понять что нужно сделать
Понятнее, чем на фото, трудно объяснить.
Цитата: Meander
Понятнее, чем на фото, трудно объяснить.
помоги написать код
Код:
#include <iostream>//ввод-вывод
#include <stdlib.h>//для system("pause")
#include <math.h>//для sin(x) cos(x) sqrt(x) fabs(x)
//-----------------------------------
//вычисляемая функция из задания
double F(double a,double x){
return ( sqrt( 2.0 + sin(a + x) ) +
sqrt( 2.0 - cos(a + x) ) );
}
//-----------------------------------
int main(int argc, char *argv[]) {
//объявление переменных и констант действительного типа
double x, h, b, a[3], phi[3], psi[3], *y;
//число узлов j - длина массива y
int n;
//ввод данных
std::cout << "Enter h: h = ";
std::cin >> h;
std::cout << "Enter b: b = ";
std::cin >> b;
std::cout << "Enter a1: a1 = ";
std::cin >> a[0];
std::cout << "Enter a2: a2 = ";
std::cin >> a[1];
std::cout << "Enter a3: a3 = ";
std::cin >> a[2];
std::cout << "Enter n: n = ";
std::cin >> n;
//создуние массива y
y = new double [n];
//внешний и внутренний циклы вычисления функции и сумм
for(int i=0;i<3;i++){
phi[i] = psi[i] = 0.0;//чтобы операция += была предсказуема при первом суммировании
for(int j=1;j<=n;j++){
x = b + h * j;
y[j-1] = F(a[i],x);
phi[i] += y[j-1]; //простая сумма
psi[i] += fabs(y[j-1]);//сумма модулей
}
}
//печать результатов в виде таблицы
std::cout.precision(2);
std::cout << std::fixed;
std::cout << '\t' << "a" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << (i+1) << '\t' << "|";
std::cout << "\n";
std::cout << "----------------+---------------+---------------+---------------+\n";
std::cout << '\t' << "phi" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << phi[i] << '\t' << "|";
std::cout << "\n";
std::cout << "----------------+---------------+---------------+---------------+\n";
std::cout << '\t' << "psi" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << psi[i] << '\t' << "|";
std::cout << "\n";
//удаление массива y
delete [] y;
y = NULL;
system("pause");
return 0;
}
#include <stdlib.h>//для system("pause")
#include <math.h>//для sin(x) cos(x) sqrt(x) fabs(x)
//-----------------------------------
//вычисляемая функция из задания
double F(double a,double x){
return ( sqrt( 2.0 + sin(a + x) ) +
sqrt( 2.0 - cos(a + x) ) );
}
//-----------------------------------
int main(int argc, char *argv[]) {
//объявление переменных и констант действительного типа
double x, h, b, a[3], phi[3], psi[3], *y;
//число узлов j - длина массива y
int n;
//ввод данных
std::cout << "Enter h: h = ";
std::cin >> h;
std::cout << "Enter b: b = ";
std::cin >> b;
std::cout << "Enter a1: a1 = ";
std::cin >> a[0];
std::cout << "Enter a2: a2 = ";
std::cin >> a[1];
std::cout << "Enter a3: a3 = ";
std::cin >> a[2];
std::cout << "Enter n: n = ";
std::cin >> n;
//создуние массива y
y = new double [n];
//внешний и внутренний циклы вычисления функции и сумм
for(int i=0;i<3;i++){
phi[i] = psi[i] = 0.0;//чтобы операция += была предсказуема при первом суммировании
for(int j=1;j<=n;j++){
x = b + h * j;
y[j-1] = F(a[i],x);
phi[i] += y[j-1]; //простая сумма
psi[i] += fabs(y[j-1]);//сумма модулей
}
}
//печать результатов в виде таблицы
std::cout.precision(2);
std::cout << std::fixed;
std::cout << '\t' << "a" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << (i+1) << '\t' << "|";
std::cout << "\n";
std::cout << "----------------+---------------+---------------+---------------+\n";
std::cout << '\t' << "phi" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << phi[i] << '\t' << "|";
std::cout << "\n";
std::cout << "----------------+---------------+---------------+---------------+\n";
std::cout << '\t' << "psi" << '\t' << "|";
for(int i=0;i<3;i++) std::cout << '\t' << psi[i] << '\t' << "|";
std::cout << "\n";
//удаление массива y
delete [] y;
y = NULL;
system("pause");
return 0;
}
Цитата: Meander
Так примерно:
Код:
#include <iostream>//ввод-вывод
#include <stdlib.h>//для system("pause")
#include <math.h>//для sin(x) cos(x) sqrt(x) fabs(x)
//-----------------------------------
//вычисляемая функция из задания
double F(double a,double x){
return ( sqrt( 2.0 + sin(a + x) ) +
sqrt( 2.0 - cos(a + x) ) );
}
//-----------------------------------
int main(int argc, char *argv[]) {
//объявление переменных и констант действительного типа
double x, h, b, a[3], phi[3], psi[3], *y;
//число узлов j - длина массива y
int n;
//ввод данных
std::cout << "Enter h: h = ";
std::cin >> h;
std::cout << "Enter b: b = ";
std::cin >> b;
std::cout << "Enter a1: a1 = ";
std::cin >> a[0];
std::cout << "Enter a2: a2 = ";
std::cin >> a[1];
std::cout << "Enter a3: a3 = ";
std::cin >> a[2];
std::cout << "Enter n: n = ";
std::cin >> n;
//создуние массива y
y = new double [n];
//внешний и внутренний циклы вычисления функции и сумм
for(int i=0;i<3;i++){
phi[i] = psi[i] = 0.0;//чтобы операция += была предсказуема при первом суммировании
for(int j=1;j<=n;j++){
x = b + h * j;
y[j-1] = F(a[i],x);
phi[i] += y[j-1]; //простая сумма
psi[i] += fabs(y[j-1]);//сумма модулей
}
}
//печать результатов в виде таблицы
std::cout.precision(2);
std::cout << std::fixed;
std::cout << 't' << "a" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << (i+1) << 't' << "|";
std::cout << "n";
std::cout << "----------------+---------------+---------------+---------------+n";
std::cout << 't' << "phi" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << phi[i] << 't' << "|";
std::cout << "n";
std::cout << "----------------+---------------+---------------+---------------+n";
std::cout << 't' << "psi" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << psi[i] << 't' << "|";
std::cout << "n";
//удаление массива y
delete [] y;
y = NULL;
system("pause");
return 0;
}
#include <stdlib.h>//для system("pause")
#include <math.h>//для sin(x) cos(x) sqrt(x) fabs(x)
//-----------------------------------
//вычисляемая функция из задания
double F(double a,double x){
return ( sqrt( 2.0 + sin(a + x) ) +
sqrt( 2.0 - cos(a + x) ) );
}
//-----------------------------------
int main(int argc, char *argv[]) {
//объявление переменных и констант действительного типа
double x, h, b, a[3], phi[3], psi[3], *y;
//число узлов j - длина массива y
int n;
//ввод данных
std::cout << "Enter h: h = ";
std::cin >> h;
std::cout << "Enter b: b = ";
std::cin >> b;
std::cout << "Enter a1: a1 = ";
std::cin >> a[0];
std::cout << "Enter a2: a2 = ";
std::cin >> a[1];
std::cout << "Enter a3: a3 = ";
std::cin >> a[2];
std::cout << "Enter n: n = ";
std::cin >> n;
//создуние массива y
y = new double [n];
//внешний и внутренний циклы вычисления функции и сумм
for(int i=0;i<3;i++){
phi[i] = psi[i] = 0.0;//чтобы операция += была предсказуема при первом суммировании
for(int j=1;j<=n;j++){
x = b + h * j;
y[j-1] = F(a[i],x);
phi[i] += y[j-1]; //простая сумма
psi[i] += fabs(y[j-1]);//сумма модулей
}
}
//печать результатов в виде таблицы
std::cout.precision(2);
std::cout << std::fixed;
std::cout << 't' << "a" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << (i+1) << 't' << "|";
std::cout << "n";
std::cout << "----------------+---------------+---------------+---------------+n";
std::cout << 't' << "phi" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << phi[i] << 't' << "|";
std::cout << "n";
std::cout << "----------------+---------------+---------------+---------------+n";
std::cout << 't' << "psi" << 't' << "|";
for(int i=0;i<3;i++) std::cout << 't' << psi[i] << 't' << "|";
std::cout << "n";
//удаление массива y
delete [] y;
y = NULL;
system("pause");
return 0;
}
спасибо
тебе код нужен?
Цитата: Romakky
тебе код нужен?
ДА