トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

11-14 ピラミッドを作る

問題

与えられた文字列を使って下の例のようなピラミッドを書いてください。
頂点は与えられた文字列の最後の1文字、底辺は与えられた文字列の各文字の間に空白が入ったものになります。
>>> pyramid("hoge")
   e
  g e
 o g e
h o g e

>>> pyramid("abracadabra")
          a
         r a
        b r a
       a b r a
      d a b r a
     a d a b r a
    c a d a b r a
   a c a d a b r a
  r a c a d a b r a
 b r a c a d a b r a
a b r a c a d a b r a


ソース

using System;

class Program
{
    static void Main()
    {
        //const string pyramid = "hoge";
        const string pyramid = "abracadabra";
        for (int I = pyramid.Length - 1; I >= 0; I--) {
            char[] charArr = pyramid.Substring(I).ToCharArray();

            for (int J = 1; J <= I; J++) Console.Write(" ");
            for (int K = 0; K <= charArr.GetUpperBound(0); K++) {
                Console.Write(charArr[K] + " ");
            }
            Console.WriteLine();
        }
    }
}


実行結果

          a
         r a
        b r a
       a b r a
      d a b r a
     a d a b r a
    c a d a b r a
   a c a d a b r a
  r a c a d a b r a
 b r a c a d a b r a
a b r a c a d a b r a


解説

ToCharArrayメソッドを使って、char型の配列を取得してます。
MSDN --- string.ToCharArrayメソッド