Egyptian Pyramids
Windows PowerShell, 122 132 133 139
$d=@(-split$input)-gt0
0..9|%{' '*(9-($x=$_))+($a="/$('--'*$_)\")+-join($d|%{' '*(($_-$x-1)*($x-lt$_))
$a[(-2*$_)..-1]})}
Test script.
Random input also makes for nice images:
Haskell, 148 characters
r=replicate
p d=map(\k->foldr(\n i->r(9-k)' '++'/':r(2*k)'-'++"\\"++drop(11+k)(r(2*n)' '++i))""$d++[0])[0..9]
main=interact$unlines.p.map read.words
I'm quite unsatisfied with this! It just feels way too long. Ideas?
Ruby 1.9, 116 characters
d=gets.split-[?0]
10.times{|i|puts [?\s*(9-i),l=?/+?-*2*i+?\\,d.map{|r|i<(r=r.to_i)??\s*2*(r+~i)+l :l[-2*r,99]}]*""}