Регистрация
Войти
Стать экспертом Правила
Информатика

30 поинтов посчитайте, , очень нужно Оформите задачу "напишите программу, которая просит ввести натуральное число N, и генерирует список списков размера N×N, заполненных случайными числами из отрезка [-50, 50]" в виде вспомогательной функции, которая получает число N, а возвращает список списков размера N×N, заполненный случайными числами. Основная программа просит в цикле ввести натуральное число, с помощью вспомогательной функции генерирует список списков размера N×N, заполненный положительными и отрицательными числами, рассортировывает положительные и отрицательные числа по двум линейным спискам.Начал так(возможно неправильно), а дальше не знаю, т.к. впервые решаю циклы. Может по другому как-то нужно написать и подскажите, , что дальше нужно сделать.Sorted не предлагать.import randomdef rand(n):l = []*nfor i in range(n):for j in range(n):l.append(random.randint(-50, 50))return ldef maximal(l1):a = l1n = 1while n a[i+1]:a[i],a[i+1] = a[i+1],a[i]print(n)def main():n = input('Введите число: ')while n = '':n = int(n)l1 = rand(n)print(l1)maximal(l1)n = input('Введите число: ')main()

ОТВЕТЫ

import random

def magic(n):

   matrix = []

   def sort(array):

       i = 0

       def check(array):

           for j in range(len(array) - 2):

               if array[j] > array[j + 1]:

                   return False

           return True

       while True:

           if array[i] > array[i + 1]:

               max = array[i]

               array[i] = array[i + 1]

               array[i + 1] = max

           i += 1

           if i > len(array) - 2:

               i = 0

           if check(array):

               break

       return array

   def writeMatrix(matrix):

       for arr in matrix:

           print(arr)

   for row in range(n):

       matrix.append([])

       for column in range(n):

           matrix[row].append(random.randint(-50, 50))

   print("Non sorted")

   writeMatrix(matrix)

   print()

   print()

   for arr in matrix:

       arr = sort(arr)

   print("Sorted rows")

   writeMatrix(matrix)  # sorted rows

   column = []

   for arr in matrix:

       column.append(arr[0])

   column = sort(column)

   for j in range(len(column) - 1):

       matrix[j][0] = column[j]

   print()

   print()

   print("Full sorted")

   writeMatrix(matrix)  # sorted rows and columns

def main():

   n = int(input())

   magic(n)

main()

863
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам