В настоящее время я учусь на курсе по принципам программирования с языковым фокусом Kotlin в связи с растущим интересом к программированию.
Я должен создать программу, которая принимает пользовательский ввод для целого числа. После сбора этой информации мне нужно напечатать два треугольника в виде звездочки (*) (у меня не было проблем с выполнением этих шагов).
Кроме того, существует возможность получения дополнительного кредита, над которым я не работаю больше для получения опыта, чем для получения дополнительных баллов, так как выгляжу хорошо с точки зрения оценки. Мне нужно взять первый треугольник и отразить его, сохраняя при этом свойства. До сих пор я не могу понять, как бы я оставил треугольник пустым и привел к нему третью сторону.
Мой ожидаемый результат:
*
**
* *
* *
*****
1
12
123
1234
12345
*
**
* *
* *
*****
Мой текущий выход:
*
**
* *
* *
*****
1
12
123
1234
12345
* *
* *
* or *
* *
***** *****
Кажется, я не могу понять это, так как долго смотрел на проблему. Кажется, я не могу перевернуть мой треугольник за мою жизнь.
Мой код:
fun main() {
// Prompt user for the triangle's size
print( "How big do you want your triangles? " )
// Get the triangle's size from the user and store in a variable
var triangleSize = readLine()!!.toInt()
// Decrementor for internal spaces
var decrementor = triangleSize
// Incrementor for internal spaces
var incrementor = 2
// Case given a 0 is entered
if ( triangleSize == 0 ) {
// Case given 1 is entered
} else if ( triangleSize == 1 ) {
println( "*" )
println( "1" )
for ( i in 1..( triangleSize - 1 )) {
print( " " )
}
print( "*" )
// Case given number entered that is not 0 or 1
} else {
// Print the top point of the triangle
println( "*" )
// Print the sides of the triangle
for ( i in 0..( triangleSize - 3 )) {
print( "*" )
for ( i in 1..( triangleSize - decrementor )) {
print( " " )
}
println( "*" )
decrementor--
}
// Print the bottom of the triangle
for ( i in 1..triangleSize ) {
print( "*" )
}
println()
// Print the numbers triangle
for ( i in 1..triangleSize ) {
for ( j in 1..i ) {
print( "$j" )
}
println()
}
// Print the top of the inverse triangle
for ( i in 1..( triangleSize - 1 )) {
print( " " )
}
println( "*" )
for ( i in 1..( triangleSize - 2 )) {
for ( i in 1..( triangleSize - incrementor )) {
print( " " )
}
println( "*" )
incrementor++
}
// Print the bottom of the inverse triangle
for ( i in 1..triangleSize ) {
print( "*" )
}
}
}
Спасибо за помощь!