Автор Тема: Автопортрет (для программистов)  (Прочитано 8678 раз)
moonlight
Умник
****
Offline Offline

Сообщений: 741


Просмотр профиля Email
« : Март 16, 2012, 21:38:49 »

Когда-то давно писал я эту программу на Delphi. Это на C#, идея та же.
Код:
using System;
namespace Avtoportret
{
    class Program
    {
        static void Main()
        {
            char[] ch = { ' ', (char)34, 's', '[', ']', '=', ';' };
            string[] s = new string[ch.Length];
            for (int i = 0; i < s.Length; i++) s[i] = ch[i].ToString();
            string s0 = s[0];
            for (int i = 0; i < 11; i++) s0 += s[0];
            string[] ss = new string[21];
            ss[0] = "using System;";
            ss[1] = "namespace Avtoportret";
            ss[2] = "{";
            ss[3] = "    class Program";
            ss[4] = "    {";
            ss[5] = "        static void Main()";
            ss[6] = "        {";
            ss[7] = "            char[] ch = { ' ', (char)34, 's', '[', ']', '=', ';' };";
            ss[8] = "            string[] s = new string[ch.Length];";
            ss[9] = "            for (int i = 0; i < s.Length; i++) s[i] = ch[i].ToString();";
            ss[10] = "            string s0 = s[0];";
            ss[11] = "            for (int i = 0; i < 11; i++) s0 += s[0];";
            ss[12] = "            string[] ss = new string[21];";
            ss[13] = "            for (int i = 0; i < 13; i++) Console.WriteLine(ss[i]);";
            ss[14] = "            for (int i = 0; i < ss.Length; i++)";
            ss[15] = "            { Console.WriteLine(s0 + s[2] + s[2] + s[3] + i + s[4] + s[0] + s[5] + s[0] + s[1] + ss[i] + s[1] + s[6]); }";
            ss[16] = "            for (int i = 13; i < ss.Length; i++) Console.WriteLine(ss[i]);";
            ss[17] = "            Console.ReadLine();";
            ss[18] = "        }";
            ss[19] = "    }";
            ss[20] = "}";
            for (int i = 0; i < 13; i++) Console.WriteLine(ss[i]);
            for (int i = 0; i < ss.Length; i++)
            { Console.WriteLine(s0 + s[2] + s[2] + s[3] + i + s[4] + s[0] + s[5] + s[0] + s[1] + ss[i] + s[1] + s[6]); }
            for (int i = 13; i < ss.Length; i++) Console.WriteLine(ss[i]);
            Console.ReadLine();
        }
    }
}


Эти пользователи сказали вам СПАСИБО :

Вилли ☂

За это сообщение 1 пользователь сказал спасибо!
Записан

Зачем откладывать на завтра то, что можно отложить на послезавтра?