Hola
Tengo el siguiente código:
Código C#:
Ver originalpublic partial class Window1 : Window
{
int[,] A, B, At, Bt;
public Window1()
{
InitializeComponent();
}
private void btnCrearMatrices_Click(object sender, RoutedEventArgs e)
{
int n = Convert.ToInt32(txtN.Text);
A = TrabajaMatriz.crearMatriz(n);
B = TrabajaMatriz.crearMatriz(n);
txtRes.Text += "Matriz A:\n" + TrabajaMatriz.mostrarMatriz(A) + "\n";
txtRes.Text += "Matriz B:\n" + TrabajaMatriz.mostrarMatriz(B) + "\n";
}
}
Y mi clase TrabajaMatriz:
Código C#:
Ver originalstatic class TrabajaMatriz
{
public static int[,] crearMatriz(int tam)
{
Random x = new Random();
int[,] M = new int[tam, tam];
for (int i = 0; i < tam; i++)
{
for (int j = 0; j < tam; j++)
{
M[i, j] = x.Next(1, 10);
}
}
MessageBox.Show(Convert.ToString(tam));
return M;
}
public static string mostrarMatriz(int[,] M)
{
string res = "";
int lim = M.GetLength(0);
for (int i = 0; i < lim; i++)
{
for (int j = 0; j < lim; j++)
{
res += Convert.ToString(M[i, j]) + " ";
if (j == lim - 1)
{
res += "\n";
}
}
}
return res;
}
}
Se supone que debe imprimirme 2 matrices diferentes, pero siempre salen duplicadas. Si antes del return en crearMatriz() agrego un MessageBox o algo, todo funciona como debe ser. No entiendo qué pasa.