Python - Ayuda con modulos para ordenar un arreglo de 20 elementos

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 156 puestos en Python (en relación al último mes)
Gráfica de Python

Ayuda con modulos para ordenar un arreglo de 20 elementos

Publicado por Tomas (3 intervenciones) el 24/10/2020 03:43:31
Hola! Necesito ayuda con estos modulos. Necesito ordenar un arreglo de 20 elementos que reciba los 20 elementos del arreglo y el metodo que el usuario quiera usar, tengo el codigo casi completado pero no se como estructurarlo para que funcionen los dos modulos y me devuelva el resultado. Gracias!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
def carga_vector(vector,cantidad_elementos,minimo,maximo):
 
    for i in range(cantidad_elementos):
        vector[i] = int(input("Ingrese el valor de ese elemento " +str(i + 1)+ ": "))
 
cantidad_elementos = 20
vector = [0] * cantidad_elementos
 
def orden_generico(vector,cantidad_elementos,metodo,orden):
    metodo = input("Ingrese el metodo que desea usar para ordenar los elementos del Vector(B/I/S): ")
 
  if (metodo == "B"):
         print("Metodo Burbuja")
        intercambio = True
        while intercambio:
            intercambio = False
            for i in range(0, cantidad_elementos -1):
                if vector[i] > vector[i + 1]:
                    intercambio = True
                    swap = vector[i]
                    vector [i] = vector[i + 1]
                    vector[i + 1] = swap
    elif (metodo == "I"):
        print("Metodo Inserción")
        for i in range(1, cantidad_elementos):
            j = i
            while (j > 0) and (vector[j - 1] > vector[j]):
                swap = vector[j]
                vector[j] = vector[j - 1]
                vector[j - 1] = swap
                j = j - 1
    else:
        print("Metodo Selección")
        for i in range(cantidad_elementos -1,0,-1):
            posicion = 0
            mayor = vector[0]
            for j in range(1, i + 1):
                if vector[j] > mayor:
                    mayor = vector[j]
                    posicion = j
            swap = vector[posicion]
            vector[posicion] = vector[i]
            vector[i] = swap
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con modulos para ordenar un arreglo de 20 elementos

Publicado por joel (901 intervenciones) el 24/10/2020 10:15:32
Hola Tomas, por lo que veo, nadie llama a la función carga_vector() no?
Creo que esa función debería devolver el vector algo así:

1
2
3
4
5
6
7
8
def carga_vector(cantidad_elementos):
    vector=[]
    for i in range(cantidad_elementos):
        vector.append(int(input("Ingrese el valor de ese elemento " +str(i + 1)+ ": ")))
    return vector
 
vector=carga_vector(5)
print(vector)

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar