Witam
mam mały problem - generuję sobie macierz za pomocą metod. Po kliknięciu w button1, wyświetlam tą macierz w textboksie. Nowe kliknięcie w button1 - nowa, wygenerowana macierz.
Chcę aby po kliknięciu w button3 pojawiała się ostatnia, wygenerowana macierz. Lecz niestety, w tym kodzie, po kliknięciu w button3, macierz generuje się od nowa (efekt jak po kliknięciu w button1). Napisałem metodę Wyswietl(), która miała wyświetlać tą macierz, lecz nie za dobrze działa. Jak zrobić, aby wyswietlała ją, bez generowania od nowa?
Co robię źle? Metod dopiero się uczę, coś tam samemu kombinuję.
public decimal[,] Zadeklaruj()
{
int rozmiar = Convert.ToInt32(numericUpDown1.Value);
decimal[,] macierz_a = new decimal[rozmiar, rozmiar];
return macierz_a;
}
public decimal[,] Generuj()
{
textBox1.Clear();
var losowo = new Random();
decimal[,] macierz_a = Zadeklaruj();
for (int i = 0; i < macierz_a.GetLength(0); i++)
{
for (int j = 0; j < macierz_a.GetLength(1); j++)
{
macierz_a[i, j] = Math.Round((decimal)losowo.NextDouble(), 2);
}
}
return macierz_a;
}
public decimal[,] Wyswietl()
{
decimal[,] macierz_a = Generuj();
for (int i = 0; i < macierz_a.GetLength(0); i++)
{
string line = string.Empty;
for (int j = 0; j < macierz_a.GetLength(1); j++)
{
line += macierz_a[i, j] + "zł" + " ";
}
textBox1.AppendText(line + "\n");
}
return macierz_a;
}
(..)
private void button1_Click(object sender, EventArgs e)
{
Zadeklaruj();
Generuj();
Wyswietl();
}
private void button3_Click(object sender, EventArgs e)
{
Wyswietl();
}