Witam. Znalazłem na internecie pewne zadanie, o to treść:
Zadeklarować typ tablicowy typedef double tx[N][2]. Opracować funkcję, która wyznacza wartości funkcji double f(double) w przedziale [min, max] dla N punktów postaci
xi = min + i*d, gdzie d=(max-min) / (N-1) oraz i=0,1,...,N-1 (N – stała). Obliczone
elementy xi, f(xi) powinny być zapamiętane w tablicy T typu tx w sposób następujący:
T[i][0] = xi oraz T[i][1] = f(xi). Prototyp funkcji: void oblicz(double min, double max,
int n, tx T, wskaźnik_funkcji). W programie głównym wykonać obliczenia dla funkcji sin
w przedziale [-pi/2, pi/2].

Trochę zawiła jak dla mnie sama treść zadania, ale postanowiłem je zrobić i moje pytanie czy ja aby na pewno je zrozumiałem i wykonałem je dobrze? Trzymałem się treści zadania, nic nie zmieniałem. O to mój kod:

#include <iostream>
#include <clocale>
#include <cmath>
//#include <ctime>
#include <cstdlib>

using namespace std;
const int N = 20;
const double MIN = -1 * (M_PI/2);
const double MAX = M_PI/2;
const double d = (MAX - MIN) / (N-1);
typedef double tx[N][2];

double f(double);
void oblicz(double min, double max, int n, tx T, double (*f) (double) );

int main()
{
    setlocale(LC_ALL,""); //set default charset
    //srand(time(NULL));
    tx T;
    oblicz(MIN,MAX,N,T,f);
    return 0;
}

void oblicz(double min, double max, int n, tx T, double (*f) (double))
{
    double xi;
    for(int i=0; i<N; i++)
    {
        xi = min + i*d;
        T[i][0] = xi;
        T[i][1] = f(xi);
    }
    for(int i=0; i<n; i++) cout << T[i][0] << " = " << T[i][1] << endl;
}

double f(double x)
{
    return std::sin(x);
}

Czy ja aby od dobrej strony patrzę ?