НА ПИТОНЕ:
Даны два числа n и m. Создайте массив n×m и заполните его по следующим правилам:

Числа, стоящие в строке 0 или в столбце 0 равны 1 (A[0][j] = 1, A[i][0] = 1).
Для всех остальных элементов массива A[i][j] = A[i-1][j] + A[i][j-1], то есть каждый элемент равен сумме двух элементов, стоящих слева и сверху от него.
Входные данные:

Вводятся два натуральных числа n и m, не превышающих 100.

Выходные данные:

Выведите данный массив на экран.

Примеры:
Ввод:
3 3
Вывод:
1 1 1
1 2 3
1 3 6
Я написал выдает неверный ответ:
n, m = map(int, input().split())
a = [[1] * m for i in range(n)]
r=1
s=0
while r for answer in range(m):
r=1
s+=1
for em in range(n):
while r a[s][r]=a[s - 1][r]+a[s][r - 1]
r+=1
for row in a:
for elem in row:
print(elem, end=' ')
print()

mykmin001 mykmin001    3   02.06.2020 09:51    75

Ответы
Veronichkadyi Veronichkadyi  15.10.2020 12:48

Код в приложении. У вас ошибка была в неверном создании массива, т.к.  при умножении массива на число, новые массивы не создаются. Они все являются ссылками. Т.е. при изменении в матрице какой-то строки изменялись все строки.


НА ПИТОНЕ: Даны два числа n и m. Создайте массив n×m и заполните его по следующим правилам: Числа, с
ПОКАЗАТЬ ОТВЕТЫ
Лисёнка2005 Лисёнка2005  15.10.2020 12:48

# -*- coding: utf-8 -*-

# b1ejPB4w (*случайный набор символов*).

import numpy

""" «Безопасный» ввод целочисленных n и m.

"""

while True:

   try:

       (n, m)=(int(input("n: ")), int(input("m: ")))

       break

   except ValueError:

       print("Something error. Try enter integers only.\n")

""" Создаем матрицу размера n x m, содержащую еденички в каждой ячейке:

"""

matrix=numpy.ones((n, m), numpy.uint32)

""" Проходимся по каждой строчке и столбцу (исключая нулевые) и задаем значения ячейкам:

"""

for row in range(1, n):

   for column in range(1, m):

       matrix[row, column]=matrix[row - 1, column] + matrix[row, column - 1]

""" Выводим результат:

"""

print(matrix)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика