Meins in Ruby, relativ kurz:
Code:
argv = ARGV[0]; i = 1; a = ("A".."Z").to_a; j = 0
a.each { |part|
if part == argv
j = i+1
end
i += 1
}
i = 1; k = 0; l = j-1
while i < j
print (" "*l)
i.times do
print "#{a[j-(j-k)]}"; k += 1
end
(i-1).times do
print "#{a[j-(j-(k-2))]}"; k -= 1
end
puts; i+=1; k = 0; l -= 1
end Ausgabe:
Code:
athelstan@127.0.0.1:~$ ruby Buchstabenpyramide.rb O
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
ABCDEFGHIHGFEDCBA
ABCDEFGHIJIHGFEDCBA
ABCDEFGHIJKJIHGFEDCBA
ABCDEFGHIJKLKJIHGFEDCBA
ABCDEFGHIJKLMLKJIHGFEDCBA
ABCDEFGHIJKLMNMLKJIHGFEDCBA
ABCDEFGHIJKLMNONMLKJIHGFEDCBA