5Iz0Q;yD9-fVw$f#lF7{&I0VnUy!=GNHUK<4TpR2QO9e^Oc=Ongc|-@
zq!#o#(!}sW9?49{;U{=yF^yh;VNjCGK$)Ahjbqt80s-K}T1y3o?-4)7+YxlN&z
mddG>6(ppc~UOR)TcCN}nS{t2^^?Y|zJuZ=ng9T+M(7ym3rQ&e_
literal 0
HcmV?d00001
diff --git a/2Lab_TA-master/TA_Lab2_Sperkach_Anna_IS-01/call.py b/2Lab_TA-master/TA_Lab2_Sperkach_Anna_IS-01/call.py
new file mode 100644
index 0000000..992cc65
--- /dev/null
+++ b/2Lab_TA-master/TA_Lab2_Sperkach_Anna_IS-01/call.py
@@ -0,0 +1,68 @@
+import collections
+import matplotlib.pyplot as plt
+import numpy as np
+from pylab import figure, show
+from math import log
+
+def plot_data(data, logarithmic=False, oneplot=False):
+ #print(data)
+ fig = figure(1)
+ num = len(data)
+ colors = ['y','b','r']
+ markers = ['o','s','x']
+ lines = ['-','--',':']
+
+ if oneplot==True:
+ ax = fig.add_subplot(111)
+ ax.grid(True)
+ i = -1
+ line_titles = []
+ x_max = y_max = 0
+ for label, value in data.items():
+ i += 1
+ j = -1
+ for sort_type, points in value.items():
+ j += 1
+ od_points = collections.OrderedDict(sorted(points.items()))
+ if logarithmic:
+ xs = [(x>0 and log(x,10) or 0) for x in od_points.keys()]
+ ys = [(y>0 and log(y,10) or 0) for y in od_points.values()]
+ else:
+ xs = od_points.keys()
+ ys = od_points.values()
+ xs.insert(0,0)
+ x_max = max(x_max, max(xs))
+ ys.insert(0,0)
+ y_max = max(y_max, max(ys))
+ ax.plot(xs, ys, colors[j%num]+markers[j%num]+lines[i%num], label=sort_type )
+ line_titles.append(sort_type+' '+label)
+ ax.set_xlim( (0, x_max*1.1) )
+ ax.set_ylim( (0, y_max*1.1) )
+ ax.legend(line_titles, loc=4)
+ else:
+ i = 0
+ for label, value in data.items():
+ i += 1
+ ax = fig.add_subplot(num,1,i)
+ ax.grid(True)
+ ax.set_title(label)
+ j = -1
+ x_max = y_max = 0
+ for sort_type, points in value.items():
+ j += 1
+ od_points = collections.OrderedDict(sorted(points.items()))
+ if logarithmic:
+ xs = [log(x,10) for x in od_points.keys()]
+ ys = [log(y,10) for y in od_points.values()]
+ else:
+ xs = od_points.keys()
+ ys = od_points.values()
+ xs.insert(0,0)
+ x_max = max(x_max, max(xs))
+ ys.insert(0,0)
+ y_max = max(y_max, max(ys))
+ ax.plot(xs, ys, colors[j%num]+markers[j%num]+'-', label=sort_type )
+ ax.set_xlim( (0, x_max*1.1) )
+ ax.set_ylim( (0, y_max*1.1) )
+ ax.legend(loc=4)
+ show()
diff --git a/3Lab_TA_2sem-master/TA_3Lab.py b/3Lab_TA_2sem-master/TA_3Lab.py
new file mode 100644
index 0000000..d164d26
--- /dev/null
+++ b/3Lab_TA_2sem-master/TA_3Lab.py
@@ -0,0 +1,57 @@
+import numpy as np
+from merge_sort import SortAndCountInversitions
+from merge_sort import MergeAndCountSplitInversitions
+from merge_sort import AllUsersSort
+from merge_sort import ResultSort
+
+
+def InPut(): #include the input
+ f=open("input.txt")
+ lst = []
+ for row in f:
+ strs = row.split(' ')
+ for s in strs:
+ if s != ' ':
+ lst = lst +[int(s)]
+ AllUsers = int(lst[0]);
+ AllFilms = int(lst[1]);
+ array = np.zeros((AllUsers, AllFilms), dtype=int)
+ t = 2
+ for i in range (AllUsers):
+ num = int(lst[t]);
+ t+=1
+ for j in range(AllFilms):
+ array[i][j] = lst[t]
+ t+=1
+ f.close()
+ return (AllUsers, AllFilms, array)
+
+def OutPut(result, User, AllUsers):
+ f = open("output.txt", 'wt')
+ User +=1
+ s = str(User) + '\n'
+ f.write(s)
+ for i in range(1, AllUsers):
+ s1= str(result[i][0])
+ s2= str(result[i][1])
+ f.write(s1 +' ' + s2 +'\n')
+
+
+
+AllUsers, AllFilms, array = InPut()
+User = int(input("Choose the User to be compared:"))
+User -=1;
+array = AllUsersSort(array, User, AllUsers, AllFilms);
+result = np.zeros((AllUsers, 2), dtype=int);
+t=0;
+for i in range(AllUsers):
+ if i != User:
+ t+=1
+ result[t][0]=i+1
+ massive = array[i]
+ A, result[t][1] = SortAndCountInversitions(list(massive))
+result = ResultSort(result, AllUsers)
+OutPut(result, User, AllUsers)
+
+
+
diff --git a/3Lab_TA_2sem-master/input.txt b/3Lab_TA_2sem-master/input.txt
new file mode 100644
index 0000000..2307424
--- /dev/null
+++ b/3Lab_TA_2sem-master/input.txt
@@ -0,0 +1,23 @@
+22 7
+1 1 2 3 4 5 6 7
+2 1 2 3 4 5 7 6
+3 1 2 3 4 6 7 5
+4 1 2 3 4 7 6 5
+5 1 2 3 5 7 6 4
+6 1 2 3 6 7 5 4
+7 1 2 3 7 6 5 4
+8 1 2 4 7 6 5 3
+9 1 2 5 7 6 4 3
+10 1 2 6 7 5 4 3
+11 1 2 7 6 5 4 3
+12 1 3 7 6 5 4 2
+13 1 4 7 6 5 3 2
+14 1 5 7 6 4 3 2
+15 1 6 7 5 4 3 2
+16 1 7 6 5 4 3 2
+17 2 7 6 5 4 3 1
+18 3 7 6 5 4 2 1
+19 4 7 6 5 3 2 1
+20 5 7 6 4 3 2 1
+21 6 7 5 4 3 2 1
+22 7 6 5 4 3 2 1
\ No newline at end of file
diff --git a/3Lab_TA_2sem-master/merge_sort.py b/3Lab_TA_2sem-master/merge_sort.py
new file mode 100644
index 0000000..d2b37cb
--- /dev/null
+++ b/3Lab_TA_2sem-master/merge_sort.py
@@ -0,0 +1,50 @@
+import numpy as np
+
+def SortAndCountInversitions(A): #inversion calculation procedure
+ AllUsers =len(A)
+ if AllUsers == 1:
+ return (A, 0)
+ else:
+ Left= A[:int(len(A)/2)]
+ Right= A[int(len(A)/2):]
+ Left, x = SortAndCountInversitions(Left)
+ Right, y = SortAndCountInversitions(Right)
+ A, z = MergeAndCountSplitInversitions(A, Left, Right)
+ return (A, x + y + z)
+
+
+def MergeAndCountSplitInversitions(A, Left, Right): #using the method of merge sort and count the split inversitions
+ counter=0 #split inversion counter
+ n1= len(Left)
+ n2 = len(Right)
+ i=0
+ j=0
+ lst=[]
+ while i< n1 and j< n2:
+ if Left[i] <= Right[j]:
+ lst.append(Left[i]) #then go to the end of the list
+ i += 1
+ else:
+ lst.append(Right[j])
+ j += 1
+ counter += (n1 -i)
+ lst= lst + Left[i:]
+ lst= lst + Right[j:]
+ return lst, counter;
+
+def ResultSort(result, AllUsers): #sort the massive with result
+ for i in range(AllUsers-1):
+ for j in range(0, AllUsers-1):
+ if result[j][1] > result[j+1][1] :
+ result[j][1], result[j+1][1] = result[j+1][1], result[j][1]
+ result[j][0], result[j+1][0] = result[j+1][0], result[j][0]
+ return result
+
+
+def AllUsersSort(array, User, AllUsers, AllFilms): #sort the massive with AllUsers
+ for i in range(AllFilms-1):
+ for j in range(0, AllFilms-1):
+ if array[User][j] > array[User][j+1] :
+ for t in range(AllUsers):
+ array[t][j], array[t][j+1] = array[t][j+1], array[t][j]
+ return array
diff --git a/3Lab_TA_2sem-master/output.txt b/3Lab_TA_2sem-master/output.txt
new file mode 100644
index 0000000..f84fac0
--- /dev/null
+++ b/3Lab_TA_2sem-master/output.txt
@@ -0,0 +1,22 @@
+1
+2 1
+3 2
+4 3
+5 4
+6 5
+7 6
+8 7
+9 8
+10 9
+11 10
+12 11
+13 12
+14 13
+15 14
+16 15
+17 16
+18 17
+19 18
+20 19
+21 20
+22 21
diff --git a/Lab5TARadixSort-master/_5LabTA.py b/Lab5TARadixSort-master/_5LabTA.py
new file mode 100644
index 0000000..d4e3681
--- /dev/null
+++ b/Lab5TARadixSort-master/_5LabTA.py
@@ -0,0 +1,42 @@
+import time
+import random
+
+
+def RadixSort(arr, d): #the function of Radix Sorting
+ place = 1 #first digit
+ for i in range(0, d):
+ CountingSort(arr, place) #call the algorithm of counting sorting
+ place *= 10
+
+def CountingSort(arr, place): #the function of Counting Sorting
+ output = [0] * len(arr)
+ count = [0] * 10
+ for i in range(0, len(arr)):
+ index = int((arr[i] / place)%10)
+ count[index] += 1
+ for i in range(1, 10):
+ count[i] += count[i - 1]
+ i = len(arr)-1
+ while i >= 0:
+ index = int((arr[i] / place)%10)
+ output[count[index] - 1] = arr[i]
+ count[index] -= 1
+ i -= 1
+ for i in range(0, len(arr)):
+ arr[i] = output[i]
+
+ #our main
+n = [10, 100] #choose the size of the array
+d = int(input("Number of digits:")) #choose the digit number
+
+for i in n:
+ #arr = [55, 75, 12, 23, 45, 23, 78, 34, 35, 11]
+ arr = [random.randint(10**(d-1),10**d-1 ) for x in range(i)] #our array that are filled by the random numbers
+ start = time.perf_counter()
+ RadixSort(arr, d)
+ end = time.perf_counter()
+ ResultTime = end - start
+ print (arr)
+ print("Size:", i)
+ print ("Time:", end,"-", start,"=",ResultTime) #Elapsed time during the whole program in seconds
+ print ("RadixSort time:", ResultTime, "\n")
\ No newline at end of file
diff --git a/Lab6_TA_HeapSort-master/Ta6LabAllTog.py b/Lab6_TA_HeapSort-master/Ta6LabAllTog.py
new file mode 100644
index 0000000..493fcea
--- /dev/null
+++ b/Lab6_TA_HeapSort-master/Ta6LabAllTog.py
@@ -0,0 +1,140 @@
+from itertools import islice
+
+class MaxHeap: #незростаючa пірамідa
+ def max(A): #повернення максимального значення з незростаючої піраміди
+ maxim = 0
+ for x in range(A.size()):
+ if(A.heap[x] > maxim):
+ maxim = A.heap[x]
+ return maxim
+
+ def DelAndReturnMaxEl(A): #видалення та повернення максимального значення з незростаючої піраміди
+ if(len(A.heap) != 0):
+ maxelement = max(A.heap)
+ IndexMaxEl = A.heap.index(maxelement)
+ A.heap.pop(IndexMaxEl)
+ A.max_heapify(maxelement)
+ return maxelement
+
+ def IncreaseValue(A, ind, value): #збільшення значення елементу піраміди за заданим індексом
+ if(ind <= A.heap.count()):
+ if(A.heap[ind] < value):
+ A.heap[ind] = value
+ A.max_heapify(A.heap, ind)
+
+ def Insert(A, value):
+ A.heap.append(value)
+ A.max_heapify(len(A.heap)-1)
+
+ def max_heapify(A, ind): #відновлення властивості незростаючої піраміди для заданого індексу
+ left = 2*ind
+ right = 2*ind+1
+ if left < A.size() and A.heap[left] > A.heap[ind]:
+ largest = right
+ else:
+ largest = ind
+
+ if right < A.size() and A.heap[right] > A.heap[largest]:
+ largest = right
+
+ if largest != ind:
+ A.heap[ind], A.heap[largest] = A.heap[largest], A.heap[ind]
+ A.max_heapify(A.heap, largest)
+
+ def __init__(A):
+ A.heap = []
+
+ def size(A):
+ return len(A.heap)
+
+class MinHeap:
+ def min(A):
+ minim = A.heap[0]
+ for x in range(A.size()):
+ if(A.heap[x] < minim):
+ minim = A.heap[x]
+ return minim
+
+ def DelAndReturnMinEl(A):
+ if len(A.heap) != 0:
+ minelement = min(A.heap)
+ IndexMinEl = A.heap.index(minelement)
+ A.heap.pop(IndexMinEl)
+ A.min_heapify(minelement)
+ return minelement
+
+ def DecreaseValue(A, ind, value):
+ if(ind <= A.heap.count()):
+ if(A.heap[ind] > value):
+ A.heap[ind] = value
+ A.min_heapify(A.heap, ind)
+
+ def Insert(A, value):
+ A.heap.append(value)
+ A.min_heapify(len(A.heap)-1)
+
+ def min_heapify(A, ind):
+ left = 2*ind
+ right = 2*ind+1
+ if left < A.size() and A.heap[left] < A.heap[ind]:
+ largest = left
+ else:
+ largest = ind
+
+ if right < A.size() and A.heap[right] < A.heap[largest]:
+ largest = right
+
+ if largest != ind:
+ A.heap[ind], A.heap[largest] = A.heap[largest], A.heap[ind]
+ A.min_heapify(A.heap, largest)
+
+ def size(A):
+ return len(A.heap)
+
+ def __init__(A):
+ A.heap = []
+
+
+def GetMedian(value): #Процедура визначення медіани для значення value
+ global Heap_low
+ global Heap_high
+
+ if value <= Heap_low.max():
+ Heap_low.Insert(value)
+ else:
+ Heap_high.Insert(value)
+
+ if Heap_low.size() >= Heap_high.size() + 2:
+ m = Heap_low.DelAndReturnMaxEl()
+ Heap_high.Insert(m)
+ elif Heap_high.size() >= Heap_low.size() + 2:
+ m = Heap_high.DelAndReturnMinEl()
+ Heap_low.Insert(m)
+
+ #Вирахувати поточну медіану
+ #якщо кількість елементів парна, то повертаємо найбільший з Heap_low і найменший з Heap_high
+ if (Heap_low.size() + Heap_high.size())%2 == 0:
+ return (Heap_low.max() , Heap_high.min())
+ #якщо кількість елементів непарна, то повертаємо найбільший з Heap_high і найменший з Heap_low
+ elif Heap_low.size() > Heap_high.size():
+ return Heap_low.max()
+ else:
+ return Heap_high.min()
+
+
+Heap_low = MaxHeap() #незростаюча піраміда для збереження меншої половини масиву
+Heap_high = MinHeap() #неспадна піраміда для збереження більшої половини масиву
+
+ #our main
+input = open("input.txt", 'r')
+n = int(input.readline())
+A = []
+for element in input:
+ A.append(int(element))
+input.close
+
+output = open('is01_sperkach_06_output.txt', 'w')
+for ind in range(n):
+ output.write(str(GetMedian(A[ind]))+"\n") #визнаємо медіану підмасиву A
+output.close()
+
diff --git a/Lab6_TA_HeapSort-master/input.txt b/Lab6_TA_HeapSort-master/input.txt
new file mode 100644
index 0000000..c8274bf
--- /dev/null
+++ b/Lab6_TA_HeapSort-master/input.txt
@@ -0,0 +1,16 @@
+15
+8
+6
+5
+10
+13
+7
+2
+4
+9
+3
+15
+12
+11
+14
+1
\ No newline at end of file
diff --git a/Lab6_TA_HeapSort-master/is01_sperkach_06_output.txt b/Lab6_TA_HeapSort-master/is01_sperkach_06_output.txt
new file mode 100644
index 0000000..4d318c0
--- /dev/null
+++ b/Lab6_TA_HeapSort-master/is01_sperkach_06_output.txt
@@ -0,0 +1,15 @@
+8
+(6, 8)
+6
+(6, 8)
+8
+(7, 8)
+7
+(6, 7)
+7
+(6, 7)
+7
+(7, 8)
+8
+(8, 9)
+8
diff --git a/TA_4Laba-master/4Lab_TATA.sln b/TA_4Laba-master/4Lab_TATA.sln
new file mode 100644
index 0000000..7efaa9c
--- /dev/null
+++ b/TA_4Laba-master/4Lab_TATA.sln
@@ -0,0 +1,23 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30907.101
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "4Lab_TATA", "4Lab_TATA.pyproj", "{D5674543-1710-46C2-80A5-989F05FC090F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D5674543-1710-46C2-80A5-989F05FC090F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D5674543-1710-46C2-80A5-989F05FC090F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7B7281D4-A113-4446-92F0-3A6A79B6196E}
+ EndGlobalSection
+EndGlobal
diff --git a/TA_4Laba-master/_4Lab_TATA.py b/TA_4Laba-master/_4Lab_TATA.py
new file mode 100644
index 0000000..8f894b6
--- /dev/null
+++ b/TA_4Laba-master/_4Lab_TATA.py
@@ -0,0 +1,144 @@
+def QuickSort(A,p,r): #the procedure of quick sort
+ count = 0
+ if p < r:
+ q, CountTemp = ClassicPartition(A, p, r)
+ count += CountTemp
+ count += QuickSort(A, p, q-1)
+ count += QuickSort(A, q+1, r)
+ return count
+
+def ClassicPartition(A, p, r): #the procedure of classic partition
+ x = A[r]
+ i = p-1
+ counter = 0
+ for j in range(p, r):
+ counter += 1
+ if A[j] <= x:
+ i += 1
+ A[i], A[j] = A[j], A[i]
+ A[i+1], A[r] = A[r], A[i+1]
+ return i+1, counter
+
+def MedianQuickSort(A, p, r): #the procedure of improved quick sort by the mediana
+ count = 0
+ if p 3:
+ mid = ((p + r) // 2)
+ middle = A[mid]
+ if A[p] < middle < A[r] or A[r] < middle < A[p]:
+ x = middle
+ elif middle < A[p] < A[r] or A[r] < A[p] < middle:
+ x = A[p]
+ else:
+ x = A[r]
+ index = A.index(x)
+ A[r], A[index] = A[index], A[r]
+ x = A[r]
+ i = p - 1
+ counter = 0
+ for j in range(p, r):
+ counter += 1
+ if A[j] <= x:
+ i += 1
+ A[i], A[j] = A[j], A[i]
+ A[i + 1], A[r] = A[r], A[i + 1]
+ return i + 1, counter
+
+def ThreePivotPartition(A, left, right): #the procedure of three pivots partition
+ counter = 0
+ a = left +2
+ b = left +2
+ c = right -1
+ d = right -1
+ p = A[left]
+ q = A[left+1]
+ r = A[right]
+
+ while b<=c:
+ while A[b]q and b<=c:
+ counter +=1
+ if A[c]>r:
+ A[c], A[d] = A[d], A[c]
+ d -=1
+ c -=1
+ if b<=c:
+ if A[b] > r:
+ if A[c] < p:
+ A[b], A[a] = A[a], A[b]
+ A[a], A[c] = A[c], A[a]
+ a +=1
+ else:
+ A[b], A[c] = A[c], A[b]
+ A[c],A[d]=A[d],A[c]
+ b +=1
+ c -=1
+ d -=1
+ else:
+ if A[c] 3:
+ q, CountTemp = ThreePivotPartition(A, p, r)
+ count += CountTemp
+ count += ThreePivotQuickSort(A, p, q-1)
+ count += ThreePivotQuickSort(A, q+1, r)
+ return count
+
+def main(): #our main
+ file = open("input.txt")
+ read = file.read()
+ file.close()
+ A = []
+ A = list(map(int, read.splitlines()))
+ n = A[0]
+ del A[0]
+ A2 = A
+ A3 = A
+
+ counter1 = QuickSort(A, 0, n - 1)
+ counter2 = MedianQuickSort(A2, 0, n - 1)
+ counter3 = ThreePivotQuickSort(A3, 0, n-1)
+
+ result = [counter1, counter2, counter3]
+ FileResult = open('is01_sperkach_04_output.txt', 'w')
+ for i in range(0, 3):
+ FileResult.write(str(result[i]) + " ")
+main()
diff --git a/TA_4Laba-master/input.txt b/TA_4Laba-master/input.txt
new file mode 100644
index 0000000..fa2af7a
--- /dev/null
+++ b/TA_4Laba-master/input.txt
@@ -0,0 +1,101 @@
+100
+80
+78
+36
+50
+20
+9
+29
+64
+17
+1
+69
+45
+83
+60
+59
+28
+54
+7
+71
+97
+48
+74
+76
+8
+53
+75
+42
+67
+15
+43
+30
+94
+3
+55
+18
+5
+77
+56
+44
+37
+22
+100
+4
+47
+84
+40
+10
+63
+58
+88
+24
+2
+68
+32
+90
+19
+81
+39
+21
+51
+85
+96
+87
+49
+95
+61
+65
+46
+93
+91
+92
+16
+26
+33
+82
+25
+62
+31
+38
+11
+34
+12
+99
+14
+6
+66
+57
+73
+23
+89
+52
+35
+27
+72
+79
+98
+41
+86
+70
+13
\ No newline at end of file
diff --git a/TA_4Laba-master/is01_sperkach_04_output.txt b/TA_4Laba-master/is01_sperkach_04_output.txt
new file mode 100644
index 0000000..e66841d
--- /dev/null
+++ b/TA_4Laba-master/is01_sperkach_04_output.txt
@@ -0,0 +1 @@
+22 22 22
\ No newline at end of file
From 9c651998d994bf237512c765ec2e30249ae5f7eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90nna?= <71703420+annsperkach@users.noreply.github.com>
Date: Wed, 5 Oct 2022 20:51:52 +0300
Subject: [PATCH 2/2] Add files via upload
---
.../Debug/ebaniy random ok.exe | Bin 0 -> 102400 bytes
.../Debug/ebaniy random ok.ilk | Bin 0 -> 681884 bytes
.../Debug/ebaniy random ok.pdb | Bin 0 -> 880640 bytes
.../ebaniy random ok/ebaniy random ok.sln | 31 ++++
.../Debug/ebaniy random ok.exe.recipe | 11 ++
.../Debug/ebaniy random ok.log | 2 +
.../Debug/ebaniy random ok.obj | Bin 0 -> 293005 bytes
.../ebaniy random ok.tlog/CL.command.1.tlog | Bin 0 -> 860 bytes
.../ebaniy random ok.tlog/CL.read.1.tlog | Bin 0 -> 20516 bytes
.../ebaniy random ok.tlog/CL.write.1.tlog | Bin 0 -> 668 bytes
.../ebaniy random ok.lastbuildstate | 2 +
.../ebaniy random ok.tlog/link.command.1.tlog | Bin 0 -> 1360 bytes
.../ebaniy random ok.tlog/link.read.1.tlog | Bin 0 -> 3614 bytes
.../ebaniy random ok.tlog/link.write.1.tlog | Bin 0 -> 622 bytes
.../ebaniy random ok/Debug/vc142.idb | Bin 0 -> 322560 bytes
.../ebaniy random ok/Debug/vc142.pdb | Bin 0 -> 765952 bytes
.../ebaniy random ok/ebaniy random ok.cpp | 95 +++++++++++
.../ebaniy random ok/ebaniy random ok.vcxproj | 147 ++++++++++++++++++
.../ebaniy random ok.vcxproj.filters | 22 +++
.../ebaniy random ok.vcxproj.user | 4 +
.../TA_Lab1_Sperkach_IS-01.pyproj | 35 +++++
.../TA_Lab1_Sperkach_IS-01.sln | 23 +++
.../TA_Lab1_Sperkach_IS_01.py | 47 ++++++
23 files changed, 419 insertions(+)
create mode 100644 MakeRandomLists-master/ebaniy random ok/Debug/ebaniy random ok.exe
create mode 100644 MakeRandomLists-master/ebaniy random ok/Debug/ebaniy random ok.ilk
create mode 100644 MakeRandomLists-master/ebaniy random ok/Debug/ebaniy random ok.pdb
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok.sln
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.exe.recipe
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.log
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.obj
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/CL.command.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/CL.read.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/CL.write.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/ebaniy random ok.lastbuildstate
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/link.command.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/link.read.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/ebaniy random ok.tlog/link.write.1.tlog
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/vc142.idb
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/Debug/vc142.pdb
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/ebaniy random ok.cpp
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/ebaniy random ok.vcxproj
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/ebaniy random ok.vcxproj.filters
create mode 100644 MakeRandomLists-master/ebaniy random ok/ebaniy random ok/ebaniy random ok.vcxproj.user
create mode 100644 ta_1lab_theory-of-algorithms-master/TA_Lab1_Sperkach_IS-01/TA_Lab1_Sperkach_IS-01.pyproj
create mode 100644 ta_1lab_theory-of-algorithms-master/TA_Lab1_Sperkach_IS-01/TA_Lab1_Sperkach_IS-01.sln
create mode 100644 ta_1lab_theory-of-algorithms-master/TA_Lab1_Sperkach_IS-01/TA_Lab1_Sperkach_IS_01.py
diff --git a/MakeRandomLists-master/ebaniy random ok/Debug/ebaniy random ok.exe b/MakeRandomLists-master/ebaniy random ok/Debug/ebaniy random ok.exe
new file mode 100644
index 0000000000000000000000000000000000000000..45852b175ac2a23d0897a6496e2300510a7ce6bd
GIT binary patch
literal 102400
zcmeFa4?t8^+CP4QAxFbNgR-KUO3Kn)6DtiZM5nYE8&uSaQWR`J1cDjUUTvj;&2gHt
z(zgHUYFoSO?z)>9lolEZnH3e=T3L;T?M2WfqoN|``+1&o@64S)z?io0yT9KI+;h)8
z_c_mb&htFyIp;j*+lkoh^T$FKh}^9Y}hX8wTlhL?|K{>X4gO^@Sz``RBekMdbEiStiZF8x!EX5nNfYEl5G>`s4#9RI_l)8Q+Vq>fBLJOOb!h#Pc{mZX#D5Vq506<*B^f~y@~AOLj(0f)Lsi8#*>f=eI1uzbN06};!L2tTkh2k-YDaKR34W
zpbnbeawZ|TnP`dqGlFS!`KQ?k9=RC79aQ*IB4{SnD3h`+`~!jp=uOLdDzY!-7;`^@
ziJu_Y=tgkYdkBm+1Zyn_o~E=b=<+M$6?^1QJnjKBav~X%%RqE%)UkxQKX~LA?6(6$FdT2tFXHPI(@|_irHB
zycWSO%6l_a%Qg~0D_t&l6v0PC!Go0uiXKGJhlngA6^JH~Jp??B(vB`ikWRo33SJ{Y
ztz3!V9|Y&3w6~r{@W|x|MpD|+|3UD<1_Xb962YITZbJz32OAL_egMHA2yQb``d2EW
za1nwxG7(4x2wJa4uw@N`;?EF_rL>psL2wV%+;umC5-QjJcLc8zOO}w#r$3Bf_Pq#h
zeh9&fq{a6T8E?IZV9VbS+(DFHMo524%6fhyf@|rrn(kIote7bMegcBJSqL7Oi{J{v
zl1(*FAerAX3c*flY89lDDMZVa^AOCW*i)3&U_vnMbp(&EM{ptCXtp7EhGN%K;RmRo
zT)OB~;osRF6_pmAfd%
zh15*9Z$Yq)Ku#|~aLQvIxHBnRBdNe!uOYaW
z&<`M)Z>&Xd`n3ptHxa=*dlB48z<;5D^|_5=8;FcwEk*EhHG-5)2+UN4G`jI6=~^bi
z?I!i9Pe(8^4}pp5Cf|bK^$7^B{T+gviV%#VZ0FMDLCO}Jiy+;I;KwltJ|r2vNA0(W
zsQ)K{Onni7i*5{}D!f2xOk@G6UI&$XBjM}!5`u52sHJ(~VatZ{N)bnu!s5N_&}fql(HXrMoxmM(`yWiYTJKh`6?c5Dc7(U=hU@
zZ%1(IBM9zxA*iH+D$NL9BML5|ws1eCEhpwU9SDAZ1A;rKj9(FgE0-bIL28>paGz69
zPK>>uq);#vLDO{zUb_XsU+L~E&mb`5Blr`s?q44vIEQZhn_@dD$S6ec6II4S7UUAT
zd;eVs`o4u=!xIP|AeGe-P3>8Ir^Uhe#0NK!gJk4n#N*;Xs4~
z5f1dufox}6p~upCN`^!uN=Y(Tw57*N(zF>fUE4PQ;PKR$qu_)jJYWB5UEJ~vDfJDr
z%h*BF3rVWEWK)JDpZTrFQrvM?kO3P%TA7;xsFztrTfzSO!le`c_fe
zB9V5cWfG@tq_nvr?JP?kr!`R86p@x}S;1+|ly;R!JKOR+r%6YVcA-c+$I`%Q$&@xw
zq@8PN=Csk2cJvUdpaClAa+OfZzrhu=t7{lSDF&?5tefhT%tD_(`kFI)
z@UtW(j+YA0D@<0h$e(_N#Dw#p^-n?7>~%V)sUy$PpLG4E*|*(NQJ0B^l-4E>2AuQ2
zt*`gq7$Xo74n#N*;Xs4~5e`H+5aB?C0}&2HI1u4LgaZ){L^u%PK!gJk4n#N*;lO_}
z2e95y(T1H5w8D_(+BOP~)f#MqQkNKRa+o@6PTvHdYTc*snwmQ0m_6dW?w>dtJK3>H
z`Qcc7>l1dY?$GtH`62A`rYq&W|B)zfP;hy-oXGN;_fmc0%<{z_E6(FidBcZ6b^I6Z
z!g;(y-%TCEuAi05^W&dW!F@vbm#Eg~r+;|sa|qD@nVo*3>a&4_LHs+}S6*IldC!qJ
zPXzx)ae03HyFtO-EB|VRzPq-ile&-ase8>JQuU9BC#E<#7Wm8**$q7~JB@m?JPTTA
zuZv@?CoItVe^7(yb~!<;=RKwOuIFV{v`xnn9xv!Ui8YRzY+v!pf}X?J=3CQq
#~-jBX!sthTuL%ss!IjT0I
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
N5R`4wRPKN@Unb|s;RFT
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