Проблема с решением OP заключается в том, что цикл for и индексация неадекватны. Следующий код будет индексировать в mx [1,1], mx [2,2], mx [3,3], ..., mx [n, n].
for(n in 1:n)
{
mx[n,n] = "#"
}
Использование второго цикла for позволяет первому циклу for идти по строкам, а второй - по столбцам. Используя что-то вроде следующего, создайте лестничную клетку путем доступа к mx [1,1], mx [2,1], mx [2,2], ..., mx [n, n].
for (i in 1:n)
for (j in 1:i)
{
mx[i, j] = "#"
}
создаст лестницу.
steps <- function(n)
{
mx <- matrix('', nrow = n, ncol = n)
for (i in 1:n)
for (j in 1:i)
{
mx[i, j] = "#"
}
mx
}
print(steps(5), quote = FALSE)
Я рекомендую распечатать переменные i и j, чтобы увидеть, что происходит с чем-то вроде
print(paste(i, j, sep = ' '))
чтобы вы могли видеть, что происходит в циклах.