holas, que tal, ando haciendo una aplicacion de matrices en c sharp, se trata de una matriz de 5x5, lo que debe hacer es mostrar la matriz, mostrar la diagonal principal, diagonal secundaria, triangulo superior, triangulo inferior.
he logrado hacer todo lo demás con la excepcion de la diagonal inferior, que no puedo implementarlo en mi codigo, les pido su colaboracion.
aqui les dejo el codigo de mi programa
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace trabajo_matrices
{
class Program
{
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(" =================");
Console.WriteLine(" MATRIZ CUADRADA");
Console.WriteLine(" CODED BY K43L");
Console.WriteLine(" =================");
Console.WriteLine("");
int[,] matriz = new int[5,5];
int filas;
int columnas;
int num1;
int opc;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("");
Console.WriteLine("················MENU PRINCIPAL············");
Console.WriteLine("");
Console.WriteLine("OPCION 1........MATRIZ CUADRADA");
Console.WriteLine("OPCION 2........DIAGONAL PRINCIPAL");
Console.WriteLine("OPCION 3........DIAGONAL SECUNDARIA");
Console.WriteLine("OPCION 4........TRIANGULO SUPERIOR");
Console.WriteLine("OPCION 5........TRIANGULO INFERIOR");
Console.WriteLine("");
Console.Write("Dame la opcion que deseas: ");
opc = Int32.Parse(Console.ReadLine());
switch (opc)
{
case 1:
for (filas = 0; filas < 5; filas++)
{
for (columnas = 0; columnas < 5; columnas++)
{
Console.Write("ingrese el numero: ");
num1 = Int32.Parse(Console.ReadLine());
matriz[filas, columnas] = num1;
}
}
for (filas = 0; filas < 5; filas++)
{
Console.WriteLine();
for (columnas = 0; columnas < 5; columnas++)
{
Console.Write(matriz[filas, columnas]);
}
}
break;
case 2:
for (filas = 0; filas < 5; filas++)
{
for (columnas = 0; columnas < 5; columnas++)
{
Console.Write("ingrese el numero: ");
num1 = Int32.Parse(Console.ReadLine());
if (filas == columnas)
{
matriz[filas, columnas] = num1;
}
else
{
Console.WriteLine();
}
}
}
for (filas = 0; filas < 5; filas++)
{
Console.WriteLine();
for (columnas = 0; columnas < 5; columnas++)
{
Console.Write(matriz[filas, columnas]);
}
}
break;
case 3:
break;
case 4:
for (filas = 0; filas < 5; filas++)
{
for (columnas = filas; columnas < 5; columnas++)
{
Console.Write("ingrese el numero: ");
num1 = Int32.Parse(Console.ReadLine());
matriz[filas,columnas] = num1;
}
}
for (filas = 0; filas < 5; filas++)
{
Console.WriteLine();
for (columnas = filas; columnas < 5; columnas++)
{
Console.Write(matriz[filas,columnas]);
}
}
break;
case 5:
for (filas = 0; filas < 5; filas++)
{
for (columnas = 0; columnas <= filas; columnas++)
{
Console.Write("ingrese el numero: ");
num1 = Int32.Parse(Console.ReadLine());
matriz[filas, columnas] = num1;
}
}
for (filas = 0; filas < 5; filas++)
{
Console.WriteLine();
for (columnas = 0; columnas <= filas; columnas++)
{
Console.Write(matriz[filas, columnas]);
}
}
break;
default:
Console.WriteLine("Esa opcion no existe");
break;
}
Console.ReadKey();
}
}
}
salu2 y gracias
Puedes fijarte en los valores que tienen los indices, filas parte de 0 y columnas de 4 para el segundo valor, uno incrementa el otro disminuye.