C sharp - Duda obteniendo subMatriz

 
Vista:
Imágen de perfil de Jose I.

Duda obteniendo subMatriz

Publicado por Jose I. (2 intervenciones) el 31/03/2017 16:52:25
Hola he estado haciendo una libreria de clases que trabaje con todo lo referente a Matrices o por lo menos con casi todo lo que se hasta ahora. El problema es que no he podido lograr que el siguiente metodo devuelva la submatriz correspondiente al eliminar una determinada fila y columna. Es como cuando calculas el determinante por el metodo de menores. Mi codigo es asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
protected Matriz SubMatriz(int fila, int columna)
{
    int Fila = this.Fila, Columna = this.Columna;
    if ((Fila <= fila || fila < 0) || (Columna <= columna || columna < 0))
        throw new IndexOutOfRangeException();
 
    Matriz newMatriz = new Matriz(Fila - 1, Columna - 1);
    int f = 0;
    for (int i = 0; i < Fila; i++)
    {
        int c = 0;
        if (i != fila)
            for (int j = 0; j < Columna; j++)
            {
                if (j != columna)
                {
                    newMatriz[f, c] = this[i, j];
                    if (c < newMatriz.Columna - 1)
                        c++;
                }
            }
        if (f < newMatriz.Fila - 1)
            f++;
    }
    return newMatriz;
 }

En caso de no comprender lo antes dicho. Dejo adjunto el archivo .cs que corresponde a la clase matriz.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder