Programación
El código es el siguiente.
///lt;Resumen gt
///Clase matriz
/// lt;/summary gt;
Público Matriz de clase sellada
{
int fila, columna//El número de filas y columnas de la matriz
double = data[i, c];
Devuelve nueva matriz (a);
}
#Área final
#Sobrecarga del operador de región-*/= =! =
Operador de matriz estática pública (matriz a, matriz b)
{
if (a.row!= b.row || a.column ! = b . columna)
Thrownnewmatrixexception("Las dimensiones de la matriz no coinciden."
Resultado de la matriz = nueva matriz (a. fila, a. columna
);for(int I = 0; i lta.rowi)
for(int j = 0; j lta.column; j)
Resultado [i, j] = a[i,j] b[i,j];
Resultado devuelto;
}
Operador de matriz estática pública - (matriz a, matriz b)
{
Devuelve a b *(1);
}
Operador matricial estático público *(matriz, doble factor) p>
{
Resultado de la matriz = nueva matriz(matrix.row, Matrix.column);
for(int I = 0; iltmatrix.rowi)
for(int j = 0; j lt matriz.columna; j)
matriz[i, j] = matriz[i, j]* factor;
Devolver matriz ;
}
Operador de matriz estática pública * (factor doble, matriz de matriz)
{
Matriz de retorno *Factor; p>
}
Operador de matriz estática pública *(matriz a, matriz b)
{
if(a . ¡Columna! =b.fila )
Thrownnewmatrixexception("Las dimensiones de la matriz no coinciden.");
Resultado de la matriz = nueva matriz (a.fila, b. columna);
p>for(int I = 0; i lta.rowi)
for(int j = 0; j ltb. column; j)
for(int k = 0; k lta . columna; k )
Resultado[i,j] = a[i,k] * b[k,j];
Devolver resultado;
}
Operador booleano estático público==(Matriz a, Matriz b)
{
Si (Object.Equals(a,b ))devuelve verdadero
si (objeto.
Es igual a (nulo, b))
Devuelve a igual a (b);
Devuelve b. >
¡Operador booleano estático público! =(matriz a, matriz b)
{
¡Regresión! (a = = b);
}
Anulación pública booleana es igual (objeto objeto)
{
if (obj == null) devuelve falso
Si (! (obj es una matriz)) devuelve falso
Matriz t = obj como matriz;
Si (fila! = t . fila || columna! = t.columna) devuelve falso
Devuelve esto. Igual a (t, 10);
}
/// Resumen gt
///Compare dos matrices para determinar la igualdad según la precisión dada .
/// lt;/summary gt;
/// lt; param name = "matrix" gtOtra matriz para comparar
// /lt; nombre del parámetro = "precisión" gtPrecisión de comparación (número de decimales)