CLR: .Net / Mono / Boo / Otros CLR > C#

 Array de dos dimensiones

(1/1)

Humberto12345:
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# --- using System;       using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication2{    class PorfinArray    {         public static void pideTamaño()        {            int element;            int array;            int index;            Console.WriteLine("Dame el tamaño del array");            array = int.Parse(Console.ReadLine());            int[] x;            x = new int[array];            Console.WriteLine("Dame Elementos del array");            for (index = 0; index < array; index++)            {                element = int.Parse(Console.ReadLine());                x[index] = element; //<--------            }            string salida = "Valores de los elementos originalesn";            for (int i = 0; i < x.Length; i++)                 salida += "   " + x[i];             // ordenar elementos del arreglo               OrdenarBurbuja(x);             salida += "nnValores de los elementos en orden descendenten";             for (int i = 0; i < x.Length; i++)                 salida += "   " + x[i];             Console.WriteLine(salida);            Console.ReadKey();         }        static public void OrdenarBurbuja(int[] b)        {             for (int p = 1; p < b.Length; p++)                  for (int i = 0; i < b.Length - 1; i++)                     if (b[i] > b[i + 1])      // comparar                           intercambio(b, i);         // intercambiar           }         // intercambio de dos elementos en un arreglo           static public void intercambio(int[] c, int primero)        {             int temp;      // variable temporal para el intercambio               temp = c[primero];             c[primero] = c[primero + 1];             c[primero + 1] = temp;         }         static void ordena()        {            Console.WriteLine("");        }        static void imprime()        {            Console.WriteLine("");        }        static void Main()        {            PorfinArray.pideTamaño();            PorfinArray.ordena();            PorfinArray.imprime();        }    }}  
Bueno, muchas gracias :good:  saludos y gracias por apoyarme

Newtek:
Bueno primeramente tienes que crear el Array en dos dimenciones



--- Código: C# ---int[,]  bDimenArray = new int[x,y]; 
Eso seria para declararlo.

Y esto para recorrerlo.


--- Código: C# ---  for (int i = 0; i < x; i++)        {            for (int j=0; j < y; j++)            {                bDimenArray[i,j] = (i * 100) + j; // esto es solo un ejemplo... no es para ordernar la informacion.             }        }    } 
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:
mmm, no me deja ordenarlos, jaja se me hace muy dificil esto de arrays en 2 dimensiones  :brickwall:
bueno seguire intentando, gracias

Newtek:
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:
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!;  ;)

Navegación

[0] Índice de Mensajes

Ir a la versión completa