Using the following:
func isosceles(triangleSides: Int)
{
var y = 0
for _ in 1...triangleSides {
y = y + 1
var stringBuilder = String()
for _ in 1...y
{
stringBuilder += "*"
}
println(stringBuilder)
}
}
isosceles(3)
I can make the following pattern:
*
**
***
I'm trying to write a function that outputs a sideways triangle of height 2n-1 and width n, so the output for n = 4 would be:
*
**
***
**
*
func triangle(triangleSides: Int)
{
var y = 0
var x = 0
var index: Int
for _ in 1...triangleSides {
y = y + 1
var stringBuilder = String()
for _ in 1...y
{
stringBuilder += "*"
}
println(stringBuilder + "\n")
}
for _ in 1..<triangleSides{
x = triangleSides - 1
var index: Int
var stringBuilder = String()
for index in stride(from: triangleSides - 1, through: 1, by: -1) {
stringBuilder += "*"
}
println(stringBuilder + "\n")
}
}
I get
*
**
***
**
**
Obviously it's going to be me thats the problem with the way I am trying to do this. If somebody could point me in the right direction that would be appreciated.
Thanks