Підрахунок інверсій
Автор: Мар'ян Сеньків • Октябрь 10, 2022 • Лабораторная работа • 534 Слов (3 Страниц) • 192 Просмотры
Міністерство освіти і науки України
Тернопільський національний технічний університет імені Івана Пулюя
Кафедра комп’ютерних наукових
Звіт
з лабораторної роботи №2
з курсу: “Теорія алгоритмів”
на тему: “Підрахунок інверсій”
Виконав:
Прийняв:
Михайлович Т. В.
Тернопіль, 2021
Лабораторна робота №2
Завдання 1.
Код (Python):
datalist=[] #оголошення списку
while True:
key=int(input('Виберіть файл: 1 - 1000_5 | 2 - 1000_100 \n>'))
if key==1:
with open("1000_5.txt", 'r') as File: #відкриття файлу
for line in File:
datalist.append(line.strip().split(" "))
#strip - обрізає пробіл тощо на почaтку і кінці
#split - створює список (розбиває по пробілам)
break
elif key==2:
with open("1000_100.txt", 'r') as File: #відкриття файлу
for line in File:
datalist.append(line.strip().split(" "))
break
while True:
first = int(input("Перша людина: "))
if first>0 and first<len(datalist):
print(datalist[first])
break
while True:
second = int(input("Друга людина: "))
if second>0 and second<len(datalist):
print(datalist[second])
break
first_con = [int(item) for item in datalist[first]]
second_con = [int(item) for item in datalist[second]]
first_con.pop(0)
second_con.pop(0)
zip_array=zip(first_con,second_con) # злиття двох списків
sorted_array=sorted(zip_array, key=lambda first_element: first_element[0])
#сортування по ключу
rez=[zip_array[1] for zip_array in sorted_array]
...