Вы можете найти множество (псевдокод) примеров в сети. Это должен был быть ваш первый подход к решению вашей проблемы. SO не является бесплатной службой написания кода, и вы получите гораздо более положительный ответ, если продемонстрируете искреннюю попытку решить проблему самостоятельно.
Кроме этого, здесь есть "грубая" R реализация кода, которую я нашел здесь . Код может и, вероятно, должен быть «R-ified», и я призываю вас потратить некоторое время на это. Я обещаю, что вы многому научитесь. Например, должна быть возможность заменить большинство (все?) Явных циклов for
, используя векторизованные функции.
diamond <- function(max) {
# Upper triangle
space <- max - 1
for (i in 0:(max - 1)) {
for (j in 0:space) cat(" ")
for (j in 0:i) cat("* ")
cat("\n")
space <- space - 1
}
# Lower triangle
space = 1;
for (i in (max - 1):1) {
for (j in 0:space) cat(" ")
for (j in 0:(i - 1)) cat("* ")
cat("\n")
space <- space + 1
}
}
diamond(5)
# *
# * *
# * * *
# * * * *
#* * * * *
# * * * *
# * * *
# * *
# *