ORDENAMIENTO CON FUNCIONES
Enviado por juanitadelao • 5 de Marzo de 2014 • 817 Palabras (4 Páginas) • 256 Visitas
'Este programa implementa funciones y rutinas para crear arreglos con elementos aleatorios y algoritmos de ordemaniento
Module Module1
'Esta funcion crea y devuelve un arreglo con valores aleatorios de acuerdo al tamano de entrada
Function crea_arreglo(tamano As Integer) As Integer()
Dim rnd As Random = New Random() 'Declaro la semilla para los numeros aleatorios
Dim a(tamano) As Integer 'Declaro un arreglo de tamano especifico
For i As Integer = 0 To tamano - 1
a(i) = rnd.Next(1, tamano) 'Relleno cada elemento de mi arreglo con numeros aleatorios desde 1 hasta tamano
Next
crea_arreglo = a 'Asigno el arreglo creado a mi valor que retorna la funcion
End Function
'Esta rutina solo imprime los elementos de mi arreglo que yo ingrese, pide el nombre del arreglo y el tamano
Sub imprimir_arreglo(a() As Integer, tamano As Integer)
For i As Integer = 0 To tamano
Console.WriteLine(a(i))
Next
End Sub
'Funcion que implementa el algoritmo de seleccion, pide de entrada el arreglo a ordenar y el tamano del mismo
Function seleccion(a() As Integer, tamano As Integer) As Integer()
Dim aux, temp As Integer
aux = 0
Console.WriteLine("Ingreso a ordenar el algoritmo ")
For i As Integer = 0 To tamano
aux = i
For j As Integer = i To tamano
If a(j) <= a(aux) Then
aux = j
End If
Next
temp = a(i)
a(i) = a(aux)
a(aux) = temp
Next
seleccion = a
End Function
'Funcion principal MAIN
Sub Main()
'Declaracion de variables e inicializacion de valores
Dim tamano As Integer
tamano = 10 'El tamano del arreglo a generar y ordenar posteriormente
Dim arreglo() As Integer = crea_arreglo(tamano) 'Declaro un arreglo e implemento la funcion crea_arreglo con el tamano deseado para asignar el arreglo
'Imprimimos el arreglo original
Console.WriteLine("El arreglo original es ")
imprimir_arreglo(arreglo, tamano) 'Llamo rutina imprimir arreglo
arreglo = seleccion(arreglo, tamano) 'Llamo la funcion de ordenamiento y asigno el arreglo a ordenar y el tamano
...