none
Ayuda con mi matriz en c# RRS feed

  • Pregunta

  • Necesito una forma de evitar que si creo una matriz de espacio 3, esta me pida los 3 datos todos juntos.

    quiero que: pida una vez datos, siga con el programa, los imprima.

    si se repite el programa vuelve a hacer lo mismo una sola vez.

    aqui mi codigo:

           static void Main(string[] args)
            {
                  // Inico funcionamiento de Matríz.
                    String[] Nombres;
                    Nombres = new String[3];
                    int[] Edad = new int[3];
     
                    for (int i = 0; i < Nombres.Length; i++)
                    {
                        Console.Write("Ingrese su nombre y apellido por favor : ");
                        Nombres[i] = Console.ReadLine();
                        Console.Write("Ingrese su edad:  ");
                        Edad[i] = int.Parse(Console.ReadLine());
                    }
     
                    //aqui va el programa
                    Console.WriteLine("Aqui la matriz");
                    for (int j = 0; j < Nombres.Length; j++)
                    {
                        Console.WriteLine(Nombres[j] + " con " + Edad[j] + " años.");
                    }
     
                    Console.ReadLine();
            }


    lunes, 20 de julio de 2020 6:05

Todas las respuestas

  • Hola, voy a investigar tu consulta.

     

    Saludos cordiales

     

    Gabriel Castro

    lunes, 20 de julio de 2020 12:42
    Moderador
  • Hola ene f,

    En este momento no tengo Visual Studio a mano, utilice este compilador de c# en línea, puedes probar el código ahí para ver que funciona. Aquí esta como lo puedes hacer, utilice un contador que se asegura que el proceso no llegue a suceder más de 3 veces, por eso mismo puse la solicitud de datos 4 veces, para que veas que solo llega a 3 de la manera en que está planteado.  El recorrido de los arreglos para imprimir la información te lo deje igual porque funciona con el length de uno de los arreglos (en tu caso ambos tienen el mismo length) por lo que sí es menos o más de 3 funciona igual. Te recomendaría poner la parte que pide datos en un método para no repetir el código, solo llamar al método. Igualmente con la parte de imprimir datos, podrías meterlo en un método.

    //Inico funcionamiento de Matríz.
    String[] Nombres= new String[3];
    int[] Edad = new int[3];
    int contador = 0;
    
    if(contador <= 2){
        Console.Write("Ingrese su nombre y apellido por favor : ");
        Nombres[contador] = Console.ReadLine();
        Console.Write("Ingrese su edad:  ");
        Edad[contador] = int.Parse(Console.ReadLine());
        contador++;
    }
    
    if(contador <= 2){
        Console.Write("Ingrese su nombre y apellido por favor : ");
        Nombres[contador] = Console.ReadLine();
        Console.Write("Ingrese su edad:  ");
        Edad[contador] = int.Parse(Console.ReadLine());
        contador++;
    }
    
    if(contador <= 2){
        Console.Write("Ingrese su nombre y apellido por favor : ");
        Nombres[contador] = Console.ReadLine();
        Console.Write("Ingrese su edad:  ");
        Edad[contador] = int.Parse(Console.ReadLine());
        contador++;
    }
    
    if(contador <= 2){
        Console.Write("Ingrese su nombre y apellido por favor : ");
        Nombres[contador] = Console.ReadLine();
        Console.Write("Ingrese su edad:  ");
        Edad[contador] = int.Parse(Console.ReadLine());
        contador++;
    }
    
    for (int j = 0; j < Nombres.Length; j++)
    {
        Console.WriteLine(Nombres[j] + " con " + Edad[j] + " años.");
    }

    Finalmente te comento que lo que tienes en tu código no es matriz en el sentido estricto de la definición, si esto es importante para ti podrías revisar el enlace que te puse en la sección que habla de arreglos multidimensionales. Gracias por levantar tu consulta en los foros de msdn.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    lunes, 20 de julio de 2020 16:42
    Moderador
  • Hola ene f

    Lo que tendrías que hacer es poner la linea de código del 2do for al final del 1er for, dentro del mismo, y eliminar toda la 2da parte del programa.

    Saludos

    Pablo

    lunes, 20 de julio de 2020 20:53
  • Hola ene f

     

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

     

    Espero tu respuesta.  

     

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

     

    Gracias por usar los foros de MSDN.  

     

    Gabriel Castro

    martes, 21 de julio de 2020 21:12
    Moderador
  • Hola ene f,

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las respuestas proporcionadas?

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    jueves, 30 de julio de 2020 23:15
    Moderador