Untitled

mail@pastecode.io avatar
unknown
c_cpp
a year ago
1.6 kB
2
Indexable
Never
#include <iostream>
#include <cmath>

using namespace std;

// Оголошення функції
double f(double x);
double calcYByValue(double a, double b, double c);
double calcYByReference(double a, double b, double &c);
double calcYByPointer(double a, double b, double *c);

int main() {
  double a = 6.1;
  double b = 4.3;
  double c[] = {6.0, 7.6, 9.5};

 // Обчислення yi для кожного значення c
  for(int i=0; i<3; i++) {
    double yByValue = calcYByValue(a, b, c[i]);
    double yByReference = calcYByReference(a, b, c[i]);
    double yByPointer = calcYByPointer(a, b, &c[i]);

    cout << "For c[" << i << "] = " << c[i] << ":" << endl;
    cout << "Y by value: " << yByValue << endl;
    cout << "Y by reference: " << yByReference << endl;
    cout << "Y by pointer: " << yByPointer << endl;
    cout << endl;
  }

  return 0;
}

// Визначення функції
double f(double x) {
  return (tan(x) - sin(x)) / pow(x, 3);
}

// Функція, яка обчислює y, передаючи c за значенням
double calcYByValue(double a, double b, double c) {
  double y = f(c) - f(b) - f(a);
  return y;
}

// Функція, яка обчислює y, передаючи c за посиланням
double calcYByReference(double a, double b, double &c) {
  double y = f(c) - f(b) - f(a);
  return y;
}

// Функція, яка обчислює y, передаючи c за покажчиком
double calcYByPointer(double a, double b, double *c) {
  double y = f(*c) - f(b) - f(a);
  return y;
}