Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def skip():
- print ("_" * 60)
- print ("_" * 60)
- skip()
- # Перше завдання
- mas = [100, 20, 41, 30, 35]
- print("Початковий масив:", mas)
- n = len(mas)
- operations = 0
- mas_changes = [mas.copy()]
- is_sorted = all(mas[i] <= mas[i+1] for i in range(n-1))
- if is_sorted == False:
- p = n-1
- while p > 0:
- y = False
- for i in range(p):
- operations += 1
- if mas[i] > mas[i+1]:
- mas[i], mas[i+1] = mas[i+1], mas[i]
- y = True
- mas_changes.append(mas.copy())
- if not y:
- break
- is_sorted = all(mas[i] <= mas[i+1] for i in range(p))
- if is_sorted:
- break
- p = p - 1
- print("Масив після сортування:", mas)
- max_operations = 0
- for i in range(n-1, 0, -1):
- max_operations += i
- print("Максимальна кількість операцій порівняння для сортування масиву з", n, "елементів дорівнює", max_operations)
- print("Кількість операцій порівняння, яких достатньо для сортування даного масиву дорівнює", operations)
- while True:
- choice = input("""Чи вивести покрокові змінення масиву?
- 1 – так
- 2 – ні
- """)
- if choice == "1" or choice == "так" or choice == "1 – так":
- for i in mas_changes:
- print(i)
- break
- elif choice == "2" or choice == "ні" or choice == "2 – ні":
- break
- else:
- print("Ви неправильно вибрали цифру. Спробуйте ще раз!")
- skip()
- # Друге завдання
- array = [34, 12, 8, 5, 20, 17]
- print("Початковий масив:", array)
- n = len(array)
- is_sorted = all(array[i] <= array[i+1] for i in range(n-1))
- if is_sorted == False:
- p = n - 1
- while p > 0:
- y = False
- for i in range(p):
- if array[i] < array[i+1]:
- array[i], array[i+1] = array[i+1], array[i]
- y = True
- if not y:
- break
- is_sorted = all(array[i] <= array[i+1] for i in range(p))
- p = p - 1
- print("Масив після сортування:", array)
- skip()
- # Третє завдання
- import random
- numbers = []
- for i in range(10):
- numbers.append(random.randint(1, 8))
- print("Початковий масив:", numbers)
- n = len(numbers)
- is_sorted = all(numbers[i] <= numbers[i+1] for i in range(n-1))
- if is_sorted == False:
- p = n - 1
- while p > 0:
- y = False
- for i in range(p):
- if numbers[i] > numbers[i+1]:
- numbers[i], numbers[i+1] = numbers[i+1], numbers[i]
- y = True
- if not y:
- break
- is_sorted = all(numbers[i] <= numbers[i+1] for i in range(p))
- p = p - 1
- print("Масив після сортування:", numbers)
- skip()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement