Advertisement
jtentor

Untitled

Sep 1st, 2015
128
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Punto3
  8. {
  9.     class Program
  10.     {
  11.         public static void cargarA(ref int[,] a, ref int f, ref int c)
  12.         {
  13.             int i;
  14.             int j;
  15.  
  16.             Console.WriteLine("Ingrese cantidad de filas");
  17.             f = int.Parse(Console.ReadLine());
  18.             Console.WriteLine("Ingrese cantidad de columnas");
  19.             c = int.Parse(Console.ReadLine());
  20.             if ((f == c))
  21.             {
  22.                 Console.WriteLine("Es una matriz cuadrada");
  23.  
  24.                 a = new int[f, c]; // AQUI SE CREA LA MATRIZ
  25.  
  26.                 for (i = 0; i < f; i++) // VA DESDE 0 MIENTRAS SEA MENOR QUE LA DIMENSIÓN
  27.                 {
  28.                     for (j = 0; j < c; j++) // ESTE Y TODOS ESTABAN <= QUE LA DIMENSIÓN, DEBE SER <
  29.                     {
  30.                         Console.Write("Ingrese componentes: ");
  31.                         //string linea; ESTO NO HACE FALTA
  32.                         //linea = Console.ReadLine();
  33.                         a[i, j] = int.Parse(Console.ReadLine());
  34.                     }
  35.                 }
  36.             }
  37.             else
  38.             {
  39.                 Console.WriteLine("ERROR...Ingrese una matriz cuadrada");
  40.             }
  41.         }
  42.  
  43.  
  44.         public static void mostrarA(ref int[,] a, int f, int c)
  45.         {
  46.             int i;
  47.             int j;
  48.             for (i = 0; i < f; i++)
  49.             {
  50.                 for (j = 0; j < c; j++)
  51.                 {
  52.                     Console.WriteLine(a[i, j]);
  53.                 }
  54.             }
  55.         }
  56.  
  57.  
  58.         public static void sumarD(ref int[,] a, ref int f, ref int c)
  59.         {
  60.             int i;
  61.             int j;
  62.             int suma;
  63.             suma = 0;
  64.             for (i = 0; i < f; i++)
  65.             {
  66.                 for (j = 0; j < c; j++) // ESTO ESTABA COMENZANDO DESDE 1 !!!
  67.                 {
  68.                     if (i == j)
  69.                     {
  70.                         suma = suma + a[i, j];
  71.                     }
  72.                 }
  73.             }
  74.             Console.WriteLine("La suma de la diagonal es: " + suma);
  75.         }
  76.  
  77.         public static void menu(ref int opc)
  78.         {
  79.             Console.WriteLine("Menu de opciones");
  80.             Console.WriteLine("1) Cargar Matriz cuadrada");
  81.             Console.WriteLine("2) Mostrar matriz");
  82.             Console.WriteLine("3) Suma de la diagonal principal");
  83.             Console.WriteLine("4) Salir");
  84.             Console.WriteLine("Seleccione una opcion");
  85.             opc = int.Parse(Console.ReadLine());
  86.         }
  87.  
  88.  
  89.         static void Main()
  90.         {
  91.             int c = 0;
  92.             int f = 0;
  93.             int opc = 0;
  94.             int[,] a = new int[2,2]; // ESTO ES PARA TENER UNA VARIABLE ASIGNADA
  95.  
  96.             do
  97.             {
  98.                 menu(ref opc);
  99.                     switch (opc)
  100.                     {
  101.                         case 1:
  102.                                 cargarA(ref a, ref f, ref c);
  103.                                 break;
  104.                         case 2 :
  105.                                 mostrarA(ref a, f, c);
  106.                                 break;
  107.                         case 3:
  108.                                 sumarD(ref a, ref f, ref c);
  109.                                  break;
  110.                         case 4:
  111.                                 Console.WriteLine("Hasta luego...");
  112.                         break;
  113.                     }                            
  114.             } while ((opc != 4));
  115.         }
  116.     }
  117. }
Advertisement
RAW Paste Data Copied
Advertisement