Предмет: Информатика, автор: pecenkakuki3

помогите пожалуйста со вторым заданием. Срочно.

Приложения:

Ответы

Автор ответа: Arkassssha
0

Код программы:

#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;

}

Похожие вопросы
Предмет: Алгебра, автор: arxanisaev