Предмет: Информатика, автор: impostor994

заполнить массив случайными числами и отсортировать его ввести число x. python желательно с комментариями к каждой строчке

Даю 45 баллов


mirageKZ: а число х для чего?
mirageKZ: или сначала ввести число х - размерность массива....

Ответы

Автор ответа: mirageKZ
3

Ответ:

# подключаем библиотеку, чтобы использовать случайные числа

from random import randint  

n=int(input('Введите количество элементов массива : '))# вводим размерность массива

a=[0]*n # Создаём массив размерность n

for i in range (0, n):  #в цикле  

 a[i]=randint(1,30)   # заполняем каждый элемент случайными числави

print(a)  #печатаем исходный массив

a=sorted(a)# сортируем исходный массив

print(a) # печатаем отсортированный массив

x=int(input('Введите Х :')) #вводим Х

for i in range (n-1, 1, -1): # в цикле

 if x > a[i]:                # ищем положение, куда вставить X

   a[n-1]=a[n-1]+a[i]   # к максимальному элементу массива прибавляем #элемент который заменили

   a[i]=x    # а на его место вставляем Х

   break

print(a) # печатаем ответ

Приложения:

impostor994: после сортировки 1 2 2 3 4 4 5 12 19
impostor994: Введите число x : 12
impostor994: Число 12 найдено
mirageKZ: Уточним: 1 4 7 3 9 2 4 5 2 есть после сортировки получим
mirageKZ: 1 2 2 3 4 4 5 7 9
mirageKZ: а не 1 2 2 3 4 4 5 12 19. Откуда взялось 12 и 19 и куда делись 7 и 9. ведь мы просто провели сортировку и ничего пока не вводили.
mirageKZ: Наверное так: после сортировки вводим число и вставляем в отсортированный массив. А элемент который был на этом месте суммируем со следующим. Тогда получится.
mirageKZ: или суммируем с наибольшим
impostor994: у меня там еще два вопроса, если можно, решите пожалуйста, там так же 45 баллов на каждом
mirageKZ: готово
Похожие вопросы
Предмет: Русский язык, автор: NancyKot