• Miércoles 20 de Noviembre de 2024, 10:13

Autor Tema:  Array de dos dimensiones  (Leído 2421 veces)

Humberto12345

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Array de dos dimensiones
« en: Miércoles 21 de Julio de 2010, 00:30 »
0
Hola, como algunos saben, apenas voy comensando con C# :comp: , y me encargaron hacer un array que hice pero en 2 dimensiones, lo que hace mi array es pedir elementos e imprimirlos en orden, pero ahora necesito hacer el codigo en 2 dimensiones, alguien podria ayudarme o explicarme que es lo que tengo que hacer? ,, aqui les dejo mi codigo:

Código: C#
  1.  
  2. using System;      
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace ConsoleApplication2
  8. {
  9.     class PorfinArray
  10.     {
  11.  
  12.         public static void pideTamaño()
  13.         {
  14.             int element;
  15.             int array;
  16.             int index;
  17.             Console.WriteLine("Dame el tamaño del array");
  18.             array = int.Parse(Console.ReadLine());
  19.             int[] x;
  20.             x = new int[array];
  21.             Console.WriteLine("Dame Elementos del array");
  22.             for (index = 0; index < array; index++)
  23.             {
  24.                 element = int.Parse(Console.ReadLine());
  25.                 x[index] = element; //<--------
  26.             }
  27.             string salida = "Valores de los elementos originalesn";
  28.             for (int i = 0; i < x.Length; i++)
  29.  
  30.                 salida += "   " + x[i];
  31.  
  32.             // ordenar elementos del arreglo  
  33.  
  34.             OrdenarBurbuja(x);
  35.  
  36.             salida += "nnValores de los elementos en orden descendenten";
  37.  
  38.             for (int i = 0; i < x.Length; i++)
  39.  
  40.                 salida += "   " + x[i];
  41.  
  42.             Console.WriteLine(salida);
  43.             Console.ReadKey();
  44.  
  45.         }
  46.         static public void OrdenarBurbuja(int[] b)
  47.         {
  48.  
  49.             for (int p = 1; p < b.Length; p++)
  50.  
  51.                 for (int i = 0; i < b.Length - 1; i++)
  52.  
  53.                     if (b[i] > b[i + 1])      // comparar  
  54.  
  55.                         intercambio(b, i);         // intercambiar  
  56.  
  57.         }
  58.  
  59.         // intercambio de dos elementos en un arreglo  
  60.  
  61.         static public void intercambio(int[] c, int primero)
  62.         {
  63.  
  64.             int temp;      // variable temporal para el intercambio  
  65.  
  66.             temp = c[primero];
  67.  
  68.             c[primero] = c[primero + 1];
  69.  
  70.             c[primero + 1] = temp;
  71.  
  72.         }
  73.  
  74.         static void ordena()
  75.         {
  76.             Console.WriteLine("");
  77.         }
  78.         static void imprime()
  79.         {
  80.             Console.WriteLine("");
  81.         }
  82.         static void Main()
  83.         {
  84.             PorfinArray.pideTamaño();
  85.             PorfinArray.ordena();
  86.             PorfinArray.imprime();
  87.         }
  88.     }
  89. }
  90.  
  91.  

Bueno, muchas gracias :good:  saludos y gracias por apoyarme

Newtek

  • Miembro activo
  • **
  • Mensajes: 81
  • Nacionalidad: cr
    • Ver Perfil
    • http://www.newtekwebhosting.com.com?id=000231
Re: Array de dos dimensiones
« Respuesta #1 en: Miércoles 21 de Julio de 2010, 16:51 »
0
Bueno primeramente tienes que crear el Array en dos dimenciones


Código: C#
  1. int[,]  bDimenArray = new int[x,y];
  2.  

Eso seria para declararlo.

Y esto para recorrerlo.

Código: C#
  1.  
  2.  for (int i = 0; i < x; i++)
  3.         {
  4.             for (int j=0; j < y; j++)
  5.             {
  6.                 bDimenArray[i,j] = (i * 100) + j; // esto es solo un ejemplo... no es para ordernar la informacion.
  7.             }
  8.         }
  9.     }
  10.  

Fijate que recorre primero el vector X y luego el vector Y... es buena formala pensarlo en cordenadas para que asi sea mas facil de imaginar.

Ahora bien para ordenarlo te lo dejo a ti... intenta y me avisas donde te quedas pegado.

Saludos.

Newtek
Web Hosting, Design, Development & SEO at Newtek Web Hosting

Humberto12345

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Array de dos dimensiones
« Respuesta #2 en: Viernes 23 de Julio de 2010, 00:50 »
0
mmm, no me deja ordenarlos, jaja se me hace muy dificil esto de arrays en 2 dimensiones  :brickwall:
bueno seguire intentando, gracias

Newtek

  • Miembro activo
  • **
  • Mensajes: 81
  • Nacionalidad: cr
    • Ver Perfil
    • http://www.newtekwebhosting.com.com?id=000231
Re: Array de dos dimensiones
« Respuesta #3 en: Viernes 23 de Julio de 2010, 15:38 »
0
Y como estas tratando de ordenarlos? Que valor tienes en el array principal? Para efectos del ejemplo y para darle continuidad al problema el "X" seria el principal y "Y" seria el array que esta dentro de cada uno de los otros
?

Como los estas ordenando?

Avisame,

Newtek
Web Hosting, Design, Development & SEO at Newtek Web Hosting

morringos

  • Miembro activo
  • **
  • Mensajes: 65
  • Nacionalidad: 00
    • Ver Perfil
Re: Array de dos dimensiones
« Respuesta #4 en: Viernes 23 de Julio de 2010, 18:12 »
0
Bueno bro, no entendí muy bien lo que quieres hacer, pero así como te dijo Newtek es como se declaran los arreglos de X dimensiones, entre más comas agregas, más dimensiones serán.

Lo otro que vi que tenías que ordenar, en sí, ¿cómo es que los quieres ordenar los elementos? ¿quiéres ir agregando números aleatorios y después irlos mostrando de forma descendente del mayor al menor? ¿probaste la clase Array que tiene .NET Framework?, te podría ser de ayudar que tal vés, utilizando el Array.Sort(tuarreglo) y con eso, te deja tu arreglo con los números ordenador de menor a mayor, lo cual, que si quieres hacer un mostrado del mayor al menor, sólamente de posiciones en el último elemento y te vas decrementando con la variable, ya sea del ciclo for, while ó el que uses.


Saludos bro!;
Morringos Phyps!;  ;)