Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. #coding=utf-8
  2. import random
  3.  
  4.  
  5. class Laba:
  6.     def __init__(self, dlinaMas):
  7.         self.__dlinaMas = dlinaMas
  8.         self.__mas = random.sample(range(0,1000), dlinaMas)
  9.         print("Исходный массив: %s\n" % self.__mas)
  10.         self.__count = 0
  11.         self.__func()
  12.         self.__sort5()
  13.         self.__sort6()
  14.         self.__sort92()
  15.  
  16.  
  17.     def __func(self):
  18.         mas = []
  19.         for i in range(0, self.__dlinaMas - 1):
  20.             if self.__mas[i] - self.__mas[i + 1] % 7 != 0:
  21.                 self.__count += 1
  22.         for i in range(0, self.__dlinaMas):
  23.             if self.__mas[i] > self.__count:
  24.                 mas.append(self.__mas[i])
  25.         for i in range(0, self.__dlinaMas):
  26.             if self.__mas[i] % 7 == 0:
  27.                 self.__mas[i] = self.__count
  28.         print("Количество пар, которые не делятся на 7 без остатка: %s\n" % self.__count)
  29.         print("Новый массив с замененными элементами, которые делятся на 7 без остатка: %s\n" % self.__mas)
  30.         print("Новый массив с элементами, которые больше, чем %s: %s\n" % (self.__count, mas))
  31.  
  32.  
  33.     def __sort5(self):
  34.         mas = self.__mas[:]
  35.         Max = 0
  36.         indexMax = None
  37.         indexMin = None
  38.         Min = 1000
  39.         for i in range(0, self.__dlinaMas):
  40.             if mas[i] > Max:
  41.                 Max = mas[i]
  42.                 indexMax = i
  43.             if mas[i] < Min:
  44.                 Min = mas[i]
  45.                 indexMin = i
  46.         mas[indexMax], mas[indexMin] = mas[indexMin], mas[indexMax]
  47.         print("Массив с обменнеными минимумом и максимумом %s\n" % mas)
  48.  
  49.  
  50.     def __sort6(self):
  51.         mas = self.__mas[:]
  52.         for i in range(self.__dlinaMas):
  53.             j = i - 1
  54.             x = mas[i]
  55.             while mas[j] > x and j >= 0:
  56.                 mas[j + 1] = mas[j]
  57.                 j -= 1
  58.             mas[j + 1] = x
  59.         print("Массив, отсортированный простой вставкой %s\n" % mas)
  60.  
  61.  
  62.     def __sort92(self):
  63.         mas = self.__mas[:]
  64.         flag = 1
  65.         for j in range(self.__dlinaMas, 0, -1):
  66.             if flag == 1:
  67.                 flag = 0
  68.                 for i in range(1, j):
  69.                     if mas[i] > mas[i - 1]:
  70.                         mas[i], mas[i - 1] = mas[i - 1], mas[i]
  71.                         flag = 1
  72.             else:
  73.                 break
  74.         print("Масссив, отсортированный пузырьком с флагом %s" % mas)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement