Funkcja liniowa na wykresie

0

Witam,

Chcę napisać program, który po podaniu przez użytkownika wartości a i b będzie obliczał x i y (x podany od 1 do 100), wrzucał to do tablicy i rysował na wykresie. Mam już zrobiony program, zaczyna z wykresem ale niestety nic nie rysuje. Gdzie mam błąd?

for (int x = 1; x <= 100; x++)
{
int a, b;
a = Convert.ToInt32(textBox1.Text);
b = Convert.ToInt32(textBox2.Text);
int y;
y = (a * x) + b;
x = 5;
int[,] tablica = new int[x, y];

                chart1.Series.Add("Funkcja");
                chart1.Series["Funkcja"].ChartType = SeriesChartType.Spline;
                chart1.Series["Funkcja"].Color = Color.Black;

                this.chart1.Series["Funkcja"].Points.AddXY(x, y);
                chart1.ChartAreas[0].AxisX.Title = "X";
                chart1.ChartAreas[0].AxisY.Title = "Y";
            }
0

Te linie wyciągnij przed for (chcesz je wykonać raz, nie sto razy):

                    chart1.Series.Add("Funkcja");
                    chart1.Series["Funkcja"].ChartType = SeriesChartType.Spline;
                    chart1.Series["Funkcja"].Color = Color.Black;

                    chart1.ChartAreas[0].AxisX.Title = "X";
                    chart1.ChartAreas[0].AxisY.Title = "Y";
 

A to wywal zupełnie:

 x = 5;
 
0

Nie wiem skąd wzięło mi się teraz to x=5, tak czy inaczej program nadal nie działa, ale dzięki za podpowiedź

0

A sprecyzujesz "nie działa"?

0

Przed zmianą rysował jeszcze osie wykresu, teraz nie robi już niestety nic, podaję wartości dla a i b a wykres milczy.

1

Twój kod wygląda tak:

                    int a, b;
                    a = Convert.ToInt32(textBox1.Text);
                    b = Convert.ToInt32(textBox2.Text);
                    chart1.Series.Add("Funkcja");
                    chart1.Series["Funkcja"].ChartType = SeriesChartType.Spline;
                    chart1.Series["Funkcja"].Color = Color.Black;
                    chart1.ChartAreas[0].AxisX.Title = "X";
                    chart1.ChartAreas[0].AxisY.Title = "Y";

 for (int x = 1; x <= 100; x++)
                {

                    int y;
                    y = (a * x) + b;
                    this.chart1.Series["Funkcja"].Points.AddXY(x, y);

                }
 

?
Nawet odpaliłem VS, żeby sprawdzić i działa.

0

Wszystko było w pętli, teraz działa, dziękuję bardzo!

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