public class Macierz
{
public float[,] tab;
public int w;
public int k;
public Macierz(int wiersz, int kolumna)
{
w = wiersz;
k = kolumna;
float[,] tab = new float[w, k];
}
public void losuj(ref float[,] tab)
{
Random liczba = new Random();
for (int i = 0; i < w; i++)
{
for (int j = 0; j < k; j++)
{
tab[i, j] = liczba.Next(1, 10); //BŁAD Object reference not set to an instance of an object.
}
}
}
public void wyswietl( float[,] tab)
{
for (int i = 0; i < w; i++)
{
for (int j = 0; j < k; j++)
{
Console.Write(" {0}", tab[i, j]); //BŁAD Object reference not set to an instance of an object.
}
Console.WriteLine();
}
}
}
namespace zad5csharp
{
class Program
{
static void Main(string[] args)
{
string wiersz = System.Console.ReadLine();
string kolumna = System.Console.ReadLine();
int b = int.Parse(wiersz);
int c = int.Parse(kolumna);
Macierz trn = new Macierz(b,c);
trn.losuj(ref trn.tab);
trn.wyswietl(trn.tab);
}
}
}
Z powyższego wynika chyba że macierz która jest tworzona w konstruktorze znika po wyjściu z niego, tylko czemu??
dodam że powyższy przykład zadziała jeśli metody losuj i wyświetl wrzucimy do konstruktora, jednak ja potrzebuje dostępu cały czas do tych macierzy