se diseñara una aplicación de una matriz cuadrada donde calcule el promedio de su diagonal principal , su diagonal invertida y donde sume todos sus valores
empezaremos creando una clase para esta:
class Matematicaz
{
int[,] mat;
public Matematicaz()
{
mat = new int[3, 3];
}
public Matematicaz(int n, int m)
{
if (n < 1)
n = 3;
if (m <1)
m = 3;
mat = new int[n, m];
}
public int this[int r, int c]
{
get
{
return mat[r, c];
}
set
{
mat[r, c] = value;
}
}
public int ren
{
get { return mat.GetLength(0); }
}
public int col
{
get { return mat.GetLength(1); }
}
public int diagPrin()
{
int suma = 0;
for (int i = 0; i < mat.GetLength(0); i++)
suma += mat[i, i];
return suma / mat.GetLength(0);
}
public int suma()
{
int s = 0;
for (int i = 0; i < mat.GetLength(0); i++)
for (int j = 0; j < mat.GetLength(1); j++)
s += mat[j, i];
return s;
}
public int diagSec()
{
int suma = 0;
for (int i = 0; i < mat.GetLength(0); i++)
suma += mat[i, mat.GetLength(0) - 1 - i];
return suma / mat.GetLength(0);
}
}
}
//---------------------------------------------------
static void Main(string[] args)
{
Random r = new Random();
int n, m, i, j;
Console.Write("Dar columnas : ");
n = int.Parse(Console.ReadLine());
Console.Write("Dar renglones : ");
m = int.Parse(Console.ReadLine());
Matematicaz miMatriz = new Matematicaz(n, m);
for (i = 0; i < miMatriz.ren; i++)
{
for (j = 0; j < miMatriz.col; j++)
{
miMatriz[i, j] = r.Next(10, 101);
}
}
for (i = 0; i < miMatriz.ren; i++)
{
for (j = 0; j < miMatriz.col; j++)
{
Console.Write(miMatriz[i, j] + "\t");
}
Console.WriteLine();
}
if (miMatriz.col == miMatriz.ren)
{
Console.WriteLine("el promedio de la diagonal principal es :"+miMatriz.diagPrin());
Console.WriteLine("el promedio de la diagonal invertida es :" + miMatriz.diagSec());
}
Console.WriteLine("la suma es :" + miMatriz.suma());
Console.ReadKey();
}
}
}
No hay comentarios:
Publicar un comentario