Aproksymacja liniowa

0

Witam,
zrobiłem program w c++ odnośnie aproksymacji liniowej ale niestety przy kompilacji w borland c++ builder wyskakują dwa błędy w:

float x[n],y[n]; 

komunikat błędów: constant expression required
Jeśli kompiluje np. w dev C++ to nie ma żadnego błędu.
Ale niestety program musi się kompilować w borlandzie bo na nim będę zaliczał.

Kod programu:

#include <iostream>
#include <string>

using namespace std;
void input_data()
{
     int n,i=1;
     float sum_x=0,sum_y=0,sum_xy=0,sum_x2=0,a,b;

     cout <<"Podaj ilosc punktow:";
     cin >> n;
     float x[n],y[n];     
     while(i<=n)
     {
               cout <<"Podaj x"<<i<<":";     
               cin >> x[i-1];
               cout <<"Podaj y"<<i<<":";     
               cin >> y[i-1];
               i++;
     }
     getchar();
     cout <<"Aproksymacja liniowa do postaci y=bx+a \n";
     for (int j=0; j<n;j++)
     {
                 sum_x = sum_x + x[j];
                 sum_y = sum_y + y[j];
                 sum_xy = sum_xy + x[j]*y[j];
                 sum_x2 = sum_x2 + x[j]*x[j];
     }

     a = (sum_y - sum_xy*sum_x/sum_x2)/(n-sum_x*sum_x/sum_x2);
     b = (sum_xy - a*sum_x)/sum_x2;
     cout << "Rownanie ma postac: y = " <<b<<"*x + "<<a;
}

int main()
{
    string imie;

    input_data();
    getchar();
    return 0;
} 

Z góry dziękuje,

pozdrawiam

0
float x[n],y[n];  

Tak się nie deklaruje tablic (tutaj następuje walnięcie głową o klawiaturę).

0

A możesz napisać co mam zmienić aby w końcu to zrobić i zapamiętać co robię źle ;)?

Z góry dziękuję

0

Próbowałem stworzyć tablicę dynamiczna niestety jeszcze więcej błędów niż wcześniej. Widocznie jestem za głupi i muszę więcej czasu spędzić na czytaniu.
Jak ktoś ma jeszcze jakieś pomysły to proszę pisać.

0

Dodałem strukturę by łatwiej było (IMO) operować punktami.

struct Point {
    float x, y;
};

//...

Point* points = new Point[n];

//...

delete [] points;

Lub używając kontenerów:

struct Point {
    float x, y;
};

//...

std::vector<Point> points;

1 użytkowników online, w tym zalogowanych: 0, gości: 1