CLR: .Net / Mono / Boo / Otros CLR > C#
C# Marca ceros,
(1/1)
Humberto12345:
:argh: :hitcomp:
Me Urge mucho porfavor, ya no se que hacer
Hola, alguien me puede ayudar con este array? esque esta bien pero no se por que me empieza a imprimir ceros, tengo que pedir elementos de un array y luego ordenar de menor a mayor o alrvez e imprimirlo
Gracias, y porfavor lo necesito para hoy pero no me sale, les agradeceria muchisimo, dare REP xD
--- 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 = 1; index <= array; index++) element = int.Parse(Console.ReadLine()); 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++) // pasadas 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("Ordenado"); } static void imprime() { Console.WriteLine("El array y elementos son:"); } static void Main() { PorfinArray.pideTamaño(); PorfinArray.ordena(); PorfinArray.imprime(); } }}
Bueno pues muchas gracias, me urge mucho ya no se que hacer :hitcomp:
gerloxxx:
hola, te comento que lo que puede estar pasando es que no almacenas los valores despues de leerlos, y puedes mejorar el for de la siguiente forma:
--- Código: C# --- Console.WriteLine("Dame Elementos del array"); for (index = 0; index < array; index++) { element = int.Parse(Console.ReadLine()); x[index] = element; //<-------- }
saludos
Newtek:
Exacto... jajajaja estaba apunto de contestar y cuando estaba contestando y precione el "Vista Previa" me di cuenta que gerloxxx ya habia contestado...
Y te cuento que gerloxxx tiene razon... no estas metiendo los valores dentro del Array/.. tienes que incluirlos... puedes hacerlo como lo dijo gerloxxx o puedes hacer algo como esto tambien..
--- Código: C# --- for (index = 0; index < array; index++) { x[index] = int.Parse(Console.ReadLine()); }
Te ahorras 4 bits de memoria y unas te codigo ;) tambien algo que gerloxxx no menciono pero que tu tienes mal es que tu inicias el arreglo en uno... los arrays inician en 0 no debes de iniciar el valor del index en 1 si no ... pierdes el campo inicial
Fijate en la logica del For que tanto gerloxxx como yo pusimos.
Saludos.
Newtek
Web Hosting, Design, Development & SEO at Newtek Web Hosting
Humberto12345:
:o :o :o :o :o
Muchas gracias a los 2, probe los 2 codigos y me funcionaron super bien :good: , ahora ya entiendo :D
Les agradeceria mucho si pudieran agregarme a mi msn o tener alguna forma de contacto, apenas voy iniciando en C# :comp:
--- Citar ---
mi msn es
humbertong@att.net.mx
--- Fin de la cita ---
Bueno muchas gracias Saludos
Navegación
Ir a la versión completa