Principales respuestas
Vectores(Ordenamiento)

Pregunta
-
Buenas tardes,
No entiendo la función del código en negrita.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PruebaVector13 { class PruebaVector13 { private int[] sueldos; public void Cargar() { sueldos=new int[5]; for(int f=0;f < sueldos.Length;f++) { Console.Write("Ingrese el sueldo:"); string linea = Console.ReadLine(); sueldos[f]=int.Parse(linea); } } public void Ordenar() { for (int k = 0; k < 4; k++) { for (int f = 0; f < 4 - k; f++) { if (sueldos[f] > sueldos[f + 1]) { int aux; aux = sueldos[f]; sueldos[f] = sueldos[f + 1]; sueldos[f + 1] = aux; } } } } public void Imprimir() { Console.WriteLine("Sueldos ordenados de menor a mayor."); for(int f=0;f < sueldos.Length;f++) { Console.WriteLine(sueldos[f]); } Console.ReadKey(); } static void Main(string[] args) { PruebaVector13 pv = new PruebaVector13(); pv.Cargar(); pv.Ordenar(); pv.Imprimir(); } } }
Estoy siguiendo las indicaciones de http://www.csharpya.com.ar/index.php?inicio=0
Si alguien pudiese recomendarme un buen manual (no me importa comprarlo) me vendría muy bien.
Gracias, un saludo.
Respuestas
-
Hola, note que es el metodo de burbuja, asi que te sujiero esta mejor practica para ordenar los vectores:
public void Ordenar() { for (int k = 0; k < 4; k++)//for es (<declarar el contador>; <condición>; < (como quieres que cambie el contador o el apuntador)>) { for (int f = k+1; f < 4; f++) { if (sueldos[k] > sueldos[f]) { int aux; aux = sueldos[k]; sueldos[k] = sueldos[f]; sueldos[f] = aux; } } } }
Y como una pagina de C# No. 1 te sugiero este foro y No. 2 http://www.csharpya.com.ar/index.php?inicio=60
Saludos.
Todas las respuestas
-
hola
el codigo en negrita realiza un loop (iteracion) de cero a 3
aunque veo algo raro usar la variable "k" como parte del for que define dentro
-----
si quieres ordenar un array o vector porque no evaluas usar Array.Sort Method
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Buenas tardes,
No entiendo la función del código en negrita.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PruebaVector13 { class PruebaVector13 { private int[] sueldos; public void Cargar() { sueldos=new int[5]; for(int f=0;f < sueldos.Length;f++) { Console.Write("Ingrese el sueldo:"); string linea = Console.ReadLine(); sueldos[f]=int.Parse(linea); } } public void Ordenar() { for (int k = 0; k < 4; k++) { for (int f = 0; f < 4 - k; f++) { if (sueldos[f] > sueldos[f + 1]) { int aux; aux = sueldos[f]; sueldos[f] = sueldos[f + 1]; sueldos[f + 1] = aux; } } } } public void Imprimir() { Console.WriteLine("Sueldos ordenados de menor a mayor."); for(int f=0;f < sueldos.Length;f++) { Console.WriteLine(sueldos[f]); } Console.ReadKey(); } static void Main(string[] args) { PruebaVector13 pv = new PruebaVector13(); pv.Cargar(); pv.Ordenar(); pv.Imprimir(); } } }
Estoy siguiendo las indicaciones de http://www.csharpya.com.ar/index.php?inicio=0
Si alguien pudiese recomendarme un buen manual (no me importa comprarlo) me vendría muy bien.
Gracias, un saludo.
Hola,
Una disculpa olvide otra cosa, sobre que es lo que hace el código en negrita, esta iterando 5 veces, el hecho de recorrer completamente el arreglo en búsqueda de su ordenamiento.
Saludos
-
Hola, note que es el metodo de burbuja, asi que te sujiero esta mejor practica para ordenar los vectores:
public void Ordenar() { for (int k = 0; k < 4; k++)//for es (<declarar el contador>; <condición>; < (como quieres que cambie el contador o el apuntador)>) { for (int f = k+1; f < 4; f++) { if (sueldos[k] > sueldos[f]) { int aux; aux = sueldos[k]; sueldos[k] = sueldos[f]; sueldos[f] = aux; } } } }
Y como una pagina de C# No. 1 te sugiero este foro y No. 2 http://www.csharpya.com.ar/index.php?inicio=60
Saludos.
-
Podrías recomendarme un mejor manual?
Muchas gracias.
EDITO: Solo me había fijado en tu código y no había visto el enlace.
Preguntaba si había otro manual porque cogí el primero que vi, la verdad. Entonces no sabía si este utiliza buen código o habría alguno mejor. Con buen código, me refiero a que esté "bonito" y bien estructurado, por decirlo de alguna manera (Ya se que son totalmente funcionales).
- Editado Xponw3r martes, 11 de agosto de 2015 15:27
-
el 2do link te va a ayudar, no olvides marcar como respuesta y como útil si te sirvió de algo lo que te puse.
No olvides practicar y googlear, porque no todo esta hecho como la rueda, sino que tendrás que crear eso lo hermoso de codificar.
Saludos.