Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def pobranie_danych():
- x = 30
- while not (x <= 20 and x >= 1): # Sprawdzenie czy podana liczba mieści się w przedziale 1-20
- x = int(input("Prosze o podanie liczby elementów od 1 do 20: "))
- Tablica = []
- for i in range(x): # Iterowanie kolejnych liczb do tablicy
- Tablica.append(int(input("proszę podać liczbę całkowitą do tablicy: ")))
- print(Tablica)
- return Tablica
- def Algorytm_selekcji(Tablica,K):
- mniejszychA = []
- równyA = []
- większyA = []
- sum_mniejszych = 0
- sum_większych = 0
- sum_równych = 0
- x = Tablica[0]
- for el_tablicy in Tablica:
- if el_tablicy < x:
- sum_mniejszych += 1
- mniejszychA.append(el_tablicy)
- elif el_tablicy > x:
- sum_większych += 1
- większyA.append(el_tablicy)
- elif el_tablicy == x:
- sum_równych += 1
- równyA.append(el_tablicy)
- print("mniejszych A<: "+ str(mniejszychA))
- print("równych A=: "+ str(równyA))
- print("większych A>: "+ str(większyA))
- print("K: "+ str(K))
- print("X: "+ str(x))
- print("N: "+ str(len(Tablica)))
- if K <= sum_mniejszych:
- Algorytm_selekcji(mniejszychA,K)
- elif sum_mniejszych < K <= (sum_mniejszych+sum_równych):
- print("K-ty wyraz posortowanego ciągu wynosi: " + str(x))
- elif K > (sum_mniejszych+sum_równych):
- Algorytm_selekcji(większyA, (K - sum_mniejszych - sum_równych))
- def Implementacja_algorytmu_selekcji():
- Tablica = pobranie_danych() # Pobranie danych od urzytkownika
- Kopia_tablicy = Tablica # Tworzenie kopii Tablicy
- Kopia_tablicy.sort() # Sortowanie kopii Tablicy
- print(Tablica and Kopia_tablicy)
- K = int(input("Jaki jest szukany element K?: "))
- Algorytm_selekcji(Tablica,K)
- Implementacja_algorytmu_selekcji()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement