Advertisement
F4ntomas

Informatics_and_prog_1.2

Mar 14th, 2022
658
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.76 KB | None | 0 0
  1. # variant 17
  2. # для целочисленной квадратной матрицы найти число элементов кратных k и наибольший из этих элементов
  3. from random import randint
  4.  
  5.  
  6. def print_array(array,a,b):
  7.     """Вывод массива"""
  8.     for i in range(a):
  9.         for j in range(b):
  10.             print(array[i][j], end=' ')
  11.         print()
  12.  
  13.  
  14. def completion_array(array,menu,a,b):
  15.     """Заполение массива вручную/случайно"""
  16.     # Заполняем массив вручную
  17.     if menu == 1:
  18.         for i in range(a):
  19.             array.append([])
  20.             for j in range(b):
  21.                 n = int(input(f'[{i+1}] [{j+1}]'))
  22.                 array[i].append(n)
  23.     # Заполняем массив случайными числами
  24.     elif menu == 2:
  25.         for i in range(a):
  26.             array.append([])
  27.             for j in range(b):
  28.                 # Заполнение случайными числами
  29.                 n = randint(-100, 100)
  30.                 array[i].append(n)
  31.     else:
  32.         exit("Ошибка выбора!")
  33.  
  34.  
  35. def find_div(array,k,a,b):
  36.     """Поиск кратных k элементов и последующий
  37.    поиск максимального числа среди них"""
  38.     result_arr = []
  39.     for i in range(a):
  40.         for j in range(b):
  41.             # Проверяем кратность k
  42.             if array[i][j] % k == 0:
  43.                 # если кратно добавим в новый массив
  44.                 result_arr.append(array[i][j])
  45.     # если массив пустой
  46.     if not result_arr:
  47.         exit(f"Нету чисел кратных k = {k}")
  48.     # Возьмем за максимальный первый элемент массива с кратными числами
  49.     max = result_arr[0]
  50.     # Поиск максимального элемента в массиве
  51.     for i in result_arr:
  52.         if i > max:
  53.             max = i
  54.     print(f"Число кратное {k} и наибольшее из них = {max}")
  55.  
  56.  
  57. a = int(input("Пожалуйста введите количество строк: "))
  58. b = int(input("Пожалуйста введите количество столбцов: "))
  59. menu = int(input("Заполнить массив в ручную - 1 \nЗаполнить случайно - 2 "))
  60. array = []
  61. # Вызовим функцию заполнения массива
  62. completion_array(array,menu,a,b)
  63. # Функция вывода массива
  64. print_array(array,a,b)
  65. k = int(input('Введите число k: '))
  66. # Поиск кратных и максимального среди них
  67. find_div(array,k,a,b)
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement