Дан целочисленный массив из 30 элементов. элементы массива могут принимать целые значения от 0 до 10 000 включительно. написать программу, которая подсчитывает сумму первых цифр двузначных нечётных элементов, а затем заменяет каждый двузначный нечётный элемент на число, равное найденной сумме. гарантируется, что в массиве есть хотя бы один двузначный нечётный элемент. в качестве результата необходимо вывести сначала вторую половину массива, а затем первую. например, для массива из восьми элементов:
7 15 9 333 22 71 14 95
программа должна получить массив
7 17 9 333 22 17 14 17
и вывести числа:
22 17 14 17 7 17 9 333
язык pascal
from random import randint
def task_26():
"""
26. дано число, введенное с клавиатуры.
определите сумму квадратов нечетных цифр в числе.
"""
def square():
number = int(input("number: "))
s = 0
for x in str(number):
if int(x) % 2 ! = 0:
s += int(x) ** 2
print("cума квадратов нечетных цифр в числе = {}".format(s))
square()
def task_27():
"""
27. найдите сумму чисел, вводимых с клавиатуры.
количество вводимых чисел заранее неизвестно.
окончание ввода, например, слово «стоп».
"""
def number_sum():
numbers_sum = 0
while true:
number = input("number: ")
if number == 'стоп' or number == 'стоп':
break
else:
numbers_sum += int(number)
print('suma {}'.format(numbers_sum))
number_sum()
def task_28():
"""
28. задана строка из стихотворения:
«мой дядя самых честных правил, когда не в шутку занемог,
он уважать себя заставил и лучше выдумать не мог»
удалите из строки все слова, начинающиеся на букву «м».
результат вывести на экран в виде строки.
подсказка: вспомните про модификацию списков.
"""
def word_deleted(line):
line_split = line.split()
for i in range(len(line_split) - 1): # 0,19
if line_split[i][0] == "м" or line_split[i][0] == "м":
del line_split[i]
return line_split
lines = "мой дядя самых честных правил, когда не в шутку занемог, " \
"он уважать себя заставил и лучше выдумать не мог"
print(word_deleted(lines))
def task_32():
"""
32. создайте матрицу (список из вложенных списков)
размера n x n (фиксируются в программе), заполненную случайными
целыми числами.
"""
def new_matrix(n):
matrix = [[randint(0, 100) for x in range(n)] for i in range(n)]
for x in matrix:
print(x)
new_matrix(10)
def task_45():
"""
45. напишите функцию, которая возвращает разность между наибольшим и
наименьшим значениями из списка целых случайных чисел.
"""
def difference():
number_random = [randint(0, 100) for i in range(50)]
print('разность между наибольшим и наименьшим значениями = {}'.format(
(max(number_random) - min(number_random))
))
difference()
def task_46():
"""
46. напишите программу, которая для целочисленного списка из 1000 случайных
элементов определяет, сколько отрицательных элементов располагается
между его максимальным и минимальным элементами.
"""
def num_random_count():
random_numbers = [randint(-500, 500) for i in range(1000)]
index_max = random_numbers.index(max(random_numbers))
index_min = random_numbers.index(min(random_numbers))
count = 0
list_range = random_numbers[index_min: index_max + 1]
for x in list_range:
if int(x) < 0:
count += 1
print("отрицательных элементов между максимальным и "
"минимальным элементами = {}".format(count))
num_random_count()
def task_50():
"""
50. дан список целых чисел. определить количество четных элементов и
количество элементов, оканчивающихся на цифру 5.
"""
def func(n):
test_list = [randint(0, 500) for i in range(n)]
count_num = 0
count_five = 0
for x in test_list:
if x % 2 == 0:
count_num += 1
if x % 10 == 5:
count_five += 1
print("количество четных элементов {}".format(count_num))
print("количество элементов, оканчивающихся на цифру 5. {}".format(
count_five))
func(50)
def task_51():
"""
51. задан список из целых чисел. определить процентное содержание
элементов, превышающих среднеарифметическое всех элементов списка
"""
def func(n):
test_list = [randint(0, 100) for i in range(n)]
average = sum(test_list) / len(test_list)
count = 0
for x in test_list:
if x > average:
count += 1
print("процентное содержание элементов, превышающих"
" среднеарифметическое всех элементов списка = {} %".format(
round((count / average) * 100,
func(100)
if __name__ == "__main__":
task_26()
task_27()
task_28()
task_32()
task_45()
task_46()
task_50()
task_51()
var
n,k:integer;
a:array of integer;
s,k2:real;
begin
{Ввод размера массива и элементов массива}
while n<3 do begin
write('Введите размер массива - '); readln(n);
if n<3 then writeln('[Массив слишком короткий]');
end;
setLength(a,n);
for var i1:=0 to n-1 do begin
write('Введите ',i1+1,' элемент массива - '); readln(a[i1]);
end;
{Вычесление минимальной суммы трёх соседних элементов массива}
s:=a[0]+a[1]+a[2];
for var i2:=2 to n-2 do begin
k:=a[i2-1]+a[i2]+a[i2+1];
if s>k then s:=k;
end;
writeln('Минимальная сумма трёх соседних элементов = ',s);
{Выполнение условия чётности и нечётности}
k2:=s;
while k2>=2 do begin
k2:=k2-2;
end;
if k2=0 then s:=sqr(s)
else s:=sqrt(s);
write('ответ: ',s:0:3);
end.