Witam, mam do realizacji na sobotę program zaliczeniowy na metody numeryczne do zaprogramowania okienkowego w języku c#.
Obliczyć pole obszaru znajdującego się pod wykresem wielomianu interpolacyjnego Lagrange'a. Jako dane wejściowe należy podać ilość węzłów interpolacji, a następnie uporządkowany ich zbiór. Wynikiem ma być liczba określająca pole powierzchni.
Na chwilę obecną mam program, w którym wpisuję ilość węzłów i wpisuję wartości X i Y dla każdego węzła. Niestety nie mam pojęcia co dalej. Na początek sprawa uporządkowania wzoru -> jak to zrealizować? Nie pozwolić na to, żeby kolejny wpisywany X nie był mniejszy od poprzedniego? Czy posortować odpowiednio? Próbowałem zająć się tym drugim rozwiązaniem, taką funkcję na sortowanie napisałem:
public static void sortuj(int [] xx)
{
for(int i=0; i<w; i++)
{
xx2[i] = xx[i];
}
Array.Sort(xx);
for(int i=0; i<w; i++)
{
for (int j=0; j<w; j++)
{
if (xx[i] == xx2[j])
yy2[i] = yy[j];
}
}
}
W to ilość węzłów.
Najpierw do drugiej tablicy xx2 dopisuję wartości z tablicy xx gdzie znajdują się wartości X wpisane przez użytkownika.
Następnie sortuję tablicę xx.
Kolejna pętla -> tutaj biorę od xx[0], czyli najmniejszego elementu. Szukam mu elementu równego z tablicy xx2.
Jak znajdę element, to do drugiej tablicy yy2[0] dopisuję wartość z tablicy yy (powinna ona odpowiadać wartości wpisanej przy X podczas wypełniania przez użytkownika).
Efekt: błędny wynik. wywołanie yy2[0] zawsze daje wynik 0.
Będę wdzięczny za wszelką pomoc. :)