Witam
Zaczynam uczyć się programować i mam problem aby program wpisał poprawny wynik do tabeli.
Wyznaczam przedział (dolny i górny) i te wartości dobrze są wpisane, ale poprawny wynik jest tylko dla pierwszego, a kolejnych nie liczy tylko przepisuje.
W konsoli jest poprawnie
Natomiast w windows forms "wartości x" są złe
Tutaj kod
// Zainicjowanie stanu poczÄtkowego zmiennych
n0 = 0;
n1 = 0;
n = 0;
X = Xd;
// Kod funkcji x <- 10
if (X < -10)
{
do
{
n0 = n1;
n1 += (Math.Pow(X, n)) / (silnia(n));
n++;
} while ((Math.Abs(Math.Abs(n0) - Math.Abs(n1)) >= Eps2) && (X < -10));
}
// Kod funkcji dla -10 =< x <= 10
if ((X >= -10) && (X <= 10))
{
do
{
n0 = n1;
n1 += Math.Pow(-1, n) * (Math.Pow(X, 2 * n + 1)) / (silnia(2 * n + 1));
n++;
} while ((Math.Abs(Math.Abs(n0) - Math.Abs(n1)) >= Eps2) && (X >= -10) && (X <= 10));
}
// Kod funkcji dla x > 10
if (X > 10)
{
do
{
n0 = n1;
n1 += Math.Pow(-1, n) * (Math.Pow(X, 2 * n)) / (silnia(2 * n));
n++;
} while ((Math.Abs(Math.Abs(n0) - Math.Abs(n1)) >= Eps2) && (X > 10));
}
//wpisanie do datagridview
X2 = (int)(Xg - Xd) / h;
for (int i = 0; i <= X2; i++)
{
dgvTabela.Rows.Add();
dgvTabela.Rows[i].Cells[0].Value=Xd;
dgvTabela.Rows[i].Cells[1].Value=n1;
Xd = Xd + h;
}
Wydaje mi się że tutaj jest błąd
dgvTabela.Rows[i].Cells[1].Value=n1;
Tylko nie mam pojęcia jak napisać by ten wynik(n1) w kolejnych wierszach wczytywał X i podawał poprawny wynik.
poprawienie tytułu wątku, dołączanie obrazów i kodu do treści posta + dodanie znaczików <code class="csharp"> - fp