помогите пожалуйста со вторым заданием. Срочно.
Ответы
Код программы:
#include <iostream>
#include <locale>
using namespace std;
class func {
private:
double x1, xn, dx, a, b, *y;
public:
func():x1(0), xn(0), dx(0), a(0), b(0), y(0) {}
func(double a, double b, double c):x1(a),xn(b), dx(c), a(0), b(0), y(0){}
void input() {
cout << "Введите a: ";
cin >> a;
cout << "Введите b: ";
cin >> b;
}
void show() {
if (y == NULL) {
cout << "Значения функции не найдено" << endl;
return;
}
int i;
double j;
for(i = 0, j = x1; i < int(x1 / dx + 1); i++, j += dx)
cout << "y("<<j<<") = "<< y[i] <<endl;
}
void compute() {
double i;
int j;
y = new double[int(x1 / dx + 1)];
for (i = x1, j = 0; i <= xn; i = i + dx, ++j) {
if ((b + a * i*sqrt(i)) == 0) {
cout << "Ошибка. На 0 делить нельзя" << endl;
delete[] y;
y = NULL;
return;
}
y[j] = sqrt(a*i) / (b + a * i*sqrt(i));
}
}
~func(){
delete[] y;
}
};
int main()
{
setlocale(LC_ALL, "Russian");
func a(1, 2, 0.3);
a.input();
a.compute();
a.show();
return 0;
}