Печать
Категория: Param
Просмотров: 1275

Param10. Описать процедуру DoubleX(A, N, X), дублирующую в целочисленном массиве A размера N элементы, равные целому числу X. Массив A и число N являются входными и выходными параметрами. С помощью этой процедуры продублировать числа \(X_A, X_B, X_C\) в массивах A, B, C размера \(N_A, N_B, N_C\) соответственно и вывести размер и содержимое полученных массивов.

Решение на Python 3:

import random

def DoubleX(Arr,X):
i = 0
while i < len(Arr):
if Arr[i] == X:
Arr.insert(i,X)
i += 2
else:
i += 1

N = random.randrange(2,15)
A = [random.randrange(10) for e in range(N)]
print("A before doubling:", A)
X = random.choice(A)
print("Double:",X)
DoubleX(A,X)
print("A after doubling:", A)

B = [random.randrange(10) for e in range(N)]
print("B before doubling:", B)
X = random.choice(B)
print("Double:",X)
DoubleX(B,X)
print("B after doubling:", B)

C = [random.randrange(10) for e in range(N)]
print("C before doubling:", C)
X = random.choice(C)
print("Double:",X)
DoubleX(C,X)
print("C after doubling:", C)