<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=384072&amp;view=findpost&amp;p=3378014</guid>
        <pubDate>Wed, 20 Nov 2013 20:11:36 +0000</pubDate>
        <title>Куайн-Полиглот</title>
        <link>https://forum.sources.ru/index.php?showtopic=384072&amp;view=findpost&amp;p=3378014</link>
        <description><![CDATA[grigr: В последнее время популярна тема <a class='tag-url' href='http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B0%D0%B9%D0%BD_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)' target='_blank'>Квайнов</a> (программа распечатывающая свой исходный код).<br>
<br>
Но темы посвященной Квайнам-Полиглотам (один текст компилируемый на нескольких языках) я нигде не встречал, хотя написал такой экземпляр очень давно.<br>
<br>
На Хабре были стати посвященные Квайнам на <a class='tag-url' href='http://habrahabr.ru/post/193764/' target='_blank'>эзотерических языках</a>, <a class='tag-url' href='http://habrahabr.ru/post/189192/' target='_blank'>Квайн-палиндрому</a>, цепным <a class='tag-url' href='http://habrahabr.ru/post/186782/' target='_blank'>мультиязыковым Квайнам</a>, а так же <a class='tag-url' href='http://habrahabr.ru/post/128191/' target='_blank'>Как писать квайны</a>.<br>
<br>
В студенческие годы мы развлекались написанием программы SelfPrint (ныне Квайн) на разных языках. Вот к примеру <a class='tag-url' href='http://grigr.narod.ru/another/selfprn.htm' target='_blank'>selfprn.htm</a> написанный в то время мои другом. Или мой цепной Квайн #2: C&lt;-&gt;Pas (я тогда назвал его TetATet). Архивчик с исходниками тут <a class='tag-url' href='http://grigr.narod.ru/another/printself.rar' target='_blank'>printself.rar</a>, правда компилировалось тогда все на Borland C++ 3.1 и Borland Pascal 7.0. Так же в архивчике можно найти SelfPrint.asm, компилировалось на Turbo Assembler 3.1.<br>
<br>
А теперь самое интересное мне удалось сделать исходный текст, который компилировался одновременно на C++ и Pas, выводя свой текст.<br>
Вдохновила меня программа <a class='tag-url' href='http://en.wikipedia.org/wiki/Polyglot_(computing)' target='_blank'>Полиглот</a>, написанная на 7-ми языках, и выводящая «Hello World». Есть еще информация <a class='tag-url' href='http://habrahabr.ru/post/62058/' target='_blank'>тут</a>.<br>
Позже я решил немного усложнить задачу: раз уж я знаком с ассемблером, то внедрить в текст исполняемый машинный код, чтобы он мог быть запущен если его просто переименовать в исполняемый файл.<br>
<br>
скачать можно тут: (еще раз подчеркну компилировалось это все на Borland C++ 3.1 и Borland Pascal 7.0)<br>
1) C++ и Pas: <a class='tag-url' href='http://grigr.narod.ru/another/selfpr.pc' target='_blank'>selfpr.pc</a><br>
2) C++, Pas и COM: (расширение ДОС-исполняемых файлов) <a class='tag-url' href='http://grigr.narod.ru/another/selfpr.cpc' target='_blank'>selfpr.cpc</a><br>
<br>
или посмотреть:<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><br>
selfpr.pc - с подсветкой для C++<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">const N=43;</div><div class="code_line">&nbsp;const(*Self)=&quot;SelfPrint Pas&amp;C&quot;&quot;*)Self=&#39;SelfPrint Pas&amp;C&#39;;s=(*&quot;;</div><div class="code_line">&nbsp;char c=&#39;Gr&#39;,*s=&amp;(int*)Self;</div><div class="code_line">&nbsp;(* cPart[] ) = {</div><div class="code_line">&nbsp;#define cPa(x)((char* )cPart[x])</div><div class="code_line">&nbsp;&nbsp; &quot;const N=&amp;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; char c=#Gr#,*s=|&amp;(int*|)Self;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|* cPart[] ) = {^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define cPa(x)((char* )cPart[x])^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$c};^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define eNd }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; /|*|) pasPart : array [0..N-1] of string = (^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$p);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; |#include &#60;stdio.h&#62;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; void main(void)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { int i,j,n;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; Self=%@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;a=#%,Self=#+#+/|*#;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; var i,j,m:integer;str:string;c:char;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; begin^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for j:=0 to N do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for i:=1 to length(pasPart[j]) do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; case pasPart[j][i] of^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; end; end.^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; {*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define pUt(x,y)case x:putchar(y);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; eNd;; ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;&quot;};</div><div class="code_line">&nbsp;#define eNd }</div><div class="code_line">&nbsp;/*) pasPart : array [0..N-1] of string = (</div><div class="code_line">&nbsp;&nbsp; &#39;const N=&amp;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; char c=#Gr#,*s=|&amp;(int*|)Self;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|* cPart[] ) = {^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define cPa(x)((char* )cPart[x])^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$c};^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define eNd }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; /|*|) pasPart : array [0..N-1] of string = (^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$p);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; |#include &#60;stdio.h&#62;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; void main(void)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { int i,j,n;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; Self=%@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;a=#%,Self=#+#+/|*#;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; var i,j,m:integer;str:string;c:char;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; begin^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for j:=0 to N do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for i:=1 to length(pasPart[j]) do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; case pasPart[j][i] of^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; end; end.^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; {*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define pUt(x,y)case x:putchar(y);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; eNd;; ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;&#39;);</div><div class="code_line">&nbsp;(*/</div><div class="code_line">&nbsp;&nbsp; #include &#60;stdio.h&#62;</div><div class="code_line">&nbsp;&nbsp; void main(void)</div><div class="code_line">&nbsp;&nbsp; { int i,j,n;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Self=&quot;\</div><div class="code_line">&nbsp;*) &nbsp;a=&#39;&quot;,Self=&#39;+&#39;+/*&#39;;</div><div class="code_line">&nbsp;&nbsp; var i,j,m:integer;str:string;c:char;</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; for j:=0 to N do</div><div class="code_line">&nbsp;&nbsp; for i:=1 to length(pasPart[j]) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; case pasPart[j][i] of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;^&#39;:writeln;&#39;#&#39;:write(&#39;&#39;&#39;&#39;);&#39;%&#39;:write(&#39;&quot;&#39;);&#39;@&#39;:write(&#39;\&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;$&#39;: begin str:=</div><div class="code_line">&nbsp;&#39;*/&#39;+&#39;%~-~-!c+&quot;&#39;;inc(i);(*\</div><div class="code_line">&nbsp;*) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=&#39;&#39;&#39;&#39;;(*\</div><div class="code_line">&nbsp;*) &nbsp;for m:=0 to N-2 do writeln(&#39; &nbsp; &#39;,c,pasPart[m],c,&#39;,&#39;);(*\</div><div class="code_line">&nbsp;*) &nbsp;write(&#39; &nbsp; &#39;,c,c);str:=&#39;&quot;;/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(j&amp;=~-!-!s;*cPa(j);j++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(i=&#39;+&#39;-&#39;+&#39;;cPa(j)[i];i++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ &nbsp; switch(cPa(j)[i])/*&#39;;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;&amp;&#39;:write(N);&#39;|&#39;:begin inc(i);write(pasPart[j][i]); end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; end; end.</div><div class="code_line">&nbsp;{*/</div><div class="code_line">&nbsp;#define pUt(x,y)case x:putchar(y);break;</div><div class="code_line">&nbsp;&nbsp; { pUt(&#39;^&#39;,&#39;\n&#39;)pUt(&#39;#&#39;,((char*)Self)[23])pUt(&#39;%&#39;,&#39;\&quot;&#39;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;@&#39;,&#39;\&#39;)case&#39;$&#39;:n=0;c=cPa(j)[++i]!=((char*)Self)[65]</div><div class="code_line">&nbsp;&nbsp; &nbsp; ?((char*)Self)[82]:&#39;\&quot;&#39;; do printf(&quot; &nbsp; %c%s%c&quot;,c,cPa(n),c);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (*cPa(n++)?printf(&quot;,\n&quot;):0);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;|&#39;,cPa(j)[++i])case&#39;&amp;&#39;:printf(&quot;%d&quot;,N);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; default:putchar(cPa(j)[i]);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; eNd;; ;</div><div class="code_line">&nbsp;&nbsp; }</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
selfpr.pc - с подсветкой для Pas<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">const N=43;</div><div class="code_line">&nbsp;const(*Self)=&quot;SelfPrint Pas&amp;C&quot;&quot;*)Self=&#39;SelfPrint Pas&amp;C&#39;;s=(*&quot;;</div><div class="code_line">&nbsp;char c=&#39;Gr&#39;,*s=&amp;(int*)Self;</div><div class="code_line">&nbsp;(* cPart[] ) = {</div><div class="code_line">&nbsp;#define cPa(x)((char* )cPart[x])</div><div class="code_line">&nbsp;&nbsp; &quot;const N=&amp;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; char c=#Gr#,*s=|&amp;(int*|)Self;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|* cPart[] ) = {^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define cPa(x)((char* )cPart[x])^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$c};^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define eNd }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; /|*|) pasPart : array [0..N-1] of string = (^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$p);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; |#include &#60;stdio.h&#62;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; void main(void)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { int i,j,n;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; Self=%@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;a=#%,Self=#+#+/|*#;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; var i,j,m:integer;str:string;c:char;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; begin^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for j:=0 to N do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for i:=1 to length(pasPart[j]) do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; case pasPart[j][i] of^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; end; end.^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; {*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define pUt(x,y)case x:putchar(y);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; eNd;; ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;&quot;};</div><div class="code_line">&nbsp;#define eNd }</div><div class="code_line">&nbsp;/*) pasPart : array [0..N-1] of string = (</div><div class="code_line">&nbsp;&nbsp; &#39;const N=&amp;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; char c=#Gr#,*s=|&amp;(int*|)Self;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|* cPart[] ) = {^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define cPa(x)((char* )cPart[x])^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$c};^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define eNd }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; /|*|) pasPart : array [0..N-1] of string = (^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$p);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; |#include &#60;stdio.h&#62;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; void main(void)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { int i,j,n;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; Self=%@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;a=#%,Self=#+#+/|*#;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; var i,j,m:integer;str:string;c:char;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; begin^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for j:=0 to N do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for i:=1 to length(pasPart[j]) do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; case pasPart[j][i] of^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; end; end.^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; {*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define pUt(x,y)case x:putchar(y);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; eNd;; ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;&#39;);</div><div class="code_line">&nbsp;(*/</div><div class="code_line">&nbsp;&nbsp; #include &#60;stdio.h&#62;</div><div class="code_line">&nbsp;&nbsp; void main(void)</div><div class="code_line">&nbsp;&nbsp; { int i,j,n;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Self=&quot;\</div><div class="code_line">&nbsp;*) &nbsp;a=&#39;&quot;,Self=&#39;+&#39;+/*&#39;;</div><div class="code_line">&nbsp;&nbsp; var i,j,m:integer;str:string;c:char;</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; for j:=0 to N do</div><div class="code_line">&nbsp;&nbsp; for i:=1 to length(pasPart[j]) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; case pasPart[j][i] of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;^&#39;:writeln;&#39;#&#39;:write(&#39;&#39;&#39;&#39;);&#39;%&#39;:write(&#39;&quot;&#39;);&#39;@&#39;:write(&#39;\&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;$&#39;: begin str:=</div><div class="code_line">&nbsp;&#39;*/&#39;+&#39;%~-~-!c+&quot;&#39;;inc(i);(*\</div><div class="code_line">&nbsp;*) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=&#39;&#39;&#39;&#39;;(*\</div><div class="code_line">&nbsp;*) &nbsp;for m:=0 to N-2 do writeln(&#39; &nbsp; &#39;,c,pasPart[m],c,&#39;,&#39;);(*\</div><div class="code_line">&nbsp;*) &nbsp;write(&#39; &nbsp; &#39;,c,c);str:=&#39;&quot;;/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(j&amp;=~-!-!s;*cPa(j);j++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(i=&#39;+&#39;-&#39;+&#39;;cPa(j)[i];i++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ &nbsp; switch(cPa(j)[i])/*&#39;;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;&amp;&#39;:write(N);&#39;|&#39;:begin inc(i);write(pasPart[j][i]); end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; end; end.</div><div class="code_line">&nbsp;{*/</div><div class="code_line">&nbsp;#define pUt(x,y)case x:putchar(y);break;</div><div class="code_line">&nbsp;&nbsp; { pUt(&#39;^&#39;,&#39;\n&#39;)pUt(&#39;#&#39;,((char*)Self)[23])pUt(&#39;%&#39;,&#39;\&quot;&#39;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;@&#39;,&#39;\&#39;)case&#39;$&#39;:n=0;c=cPa(j)[++i]!=((char*)Self)[65]</div><div class="code_line">&nbsp;&nbsp; &nbsp; ?((char*)Self)[82]:&#39;\&quot;&#39;; do printf(&quot; &nbsp; %c%s%c&quot;,c,cPa(n),c);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (*cPa(n++)?printf(&quot;,\n&quot;):0);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;|&#39;,cPa(j)[++i])case&#39;&amp;&#39;:printf(&quot;%d&quot;,N);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; default:putchar(cPa(j)[i]);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; eNd;; ;</div><div class="code_line">&nbsp;&nbsp; }</div></ol></div></div></div></div><br>
<br>
selfpr.cpc - с подсветкой для C++<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(*COMENT/*------------------&#60;GRIGR[C]&#62;---------------------------</div><div class="code_line">іx&#62; (; Self Printing Pascal , C and MSDos COM *)program(* Code ;)</div><div class="code_line">іh22^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!</div><div class="code_line">АДДД made by GRIGoRusha ДДД grigr@mail.ru ДДДД */)=&amp;(int*)COMENT;</div><div class="code_line">const N=49;</div><div class="code_line">&nbsp;const(*Self)=&quot;SelfPrint Pas&amp;C&quot;&quot;*)Self=&#39;SelfPrint Pas&amp;C&#39;;s=(*&quot;;</div><div class="code_line">&nbsp;char c=&#39;Gr&#39;,*s=&amp;(int*)Self;</div><div class="code_line">&nbsp;(* cPart[] ) = {</div><div class="code_line">&nbsp;#define cPa(x)((char* )cPart[x])</div><div class="code_line">&nbsp;&nbsp; &quot;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;(|*COMENT/|*------------------&#60;GRIGR[C]&#62;---------------------------^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;іx&#62; (; Self Printing Pascal , C and MSDos COM *|)program(|* Code ;)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;іh22|^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV|^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;АДДД made by GRIGoRusha ДДД grigr|@mail.ru ДДДД *|/)=|&amp;(int*|)COMENT;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;const N=&amp;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; char c=#Gr#,*s=|&amp;(int*|)Self;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|* cPart[] ) = {^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define cPa(x)((char* )cPart[x])^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$c} ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define eNd }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; /|*|) pasPart : array [0..N-1] of string = (^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$p);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; |#include &#60;stdio.h&#62;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; void main(void)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { int i,j,n;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; Self=%@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;a=#%,Self=#+#+/|*#;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; var i,j,m:integer;str:string;c:char;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; begin^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for j:=0 to N do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for i:=1 to length(pasPart[j]) do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; case pasPart[j][i] of^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; end; end.^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; {*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define pUt(x,y)case x:putchar(y);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; eNd;; ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; }&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;&quot;} ;</div><div class="code_line">&nbsp;#define eNd }</div><div class="code_line">&nbsp;/*) pasPart : array [0..N-1] of string = (</div><div class="code_line">&nbsp;&nbsp; &#39;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;(|*COMENT/|*------------------&#60;GRIGR[C]&#62;---------------------------^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;іx&#62; (; Self Printing Pascal , C and MSDos COM *|)program(|* Code ;)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;іh22|^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV|^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;АДДД made by GRIGoRusha ДДД grigr|@mail.ru ДДДД *|/)=|&amp;(int*|)COMENT;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;const N=&amp;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; char c=#Gr#,*s=|&amp;(int*|)Self;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|* cPart[] ) = {^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define cPa(x)((char* )cPart[x])^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$c} ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define eNd }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; /|*|) pasPart : array [0..N-1] of string = (^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$p);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; |#include &#60;stdio.h&#62;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; void main(void)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { int i,j,n;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; Self=%@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;a=#%,Self=#+#+/|*#;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; var i,j,m:integer;str:string;c:char;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; begin^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for j:=0 to N do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for i:=1 to length(pasPart[j]) do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; case pasPart[j][i] of^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; end; end.^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; {*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define pUt(x,y)case x:putchar(y);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; eNd;; ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; }&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;&#39;);</div><div class="code_line">&nbsp;(*/</div><div class="code_line">&nbsp;&nbsp; #include &#60;stdio.h&#62;</div><div class="code_line">&nbsp;&nbsp; void main(void)</div><div class="code_line">&nbsp;&nbsp; { int i,j,n;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Self=&quot;\</div><div class="code_line">&nbsp;*) &nbsp;a=&#39;&quot;,Self=&#39;+&#39;+/*&#39;;</div><div class="code_line">&nbsp;&nbsp; var i,j,m:integer;str:string;c:char;</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; for j:=0 to N do</div><div class="code_line">&nbsp;&nbsp; for i:=1 to length(pasPart[j]) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; case pasPart[j][i] of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;^&#39;:writeln;&#39;#&#39;:write(&#39;&#39;&#39;&#39;);&#39;%&#39;:write(&#39;&quot;&#39;);&#39;@&#39;:write(&#39;\&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;$&#39;: begin str:=</div><div class="code_line">&nbsp;&#39;*/&#39;+&#39;%~-~-!c+&quot;&#39;;inc(i);(*\</div><div class="code_line">&nbsp;*) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=&#39;&#39;&#39;&#39;;(*\</div><div class="code_line">&nbsp;*) &nbsp;for m:=0 to N-2 do writeln(&#39; &nbsp; &#39;,c,pasPart[m],c,&#39;,&#39;);(*\</div><div class="code_line">&nbsp;*) &nbsp;write(&#39; &nbsp; &#39;,c,c);str:=&#39;&quot;;/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(j&amp;=~-!-!s;*cPa(j);j++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(i=&#39;+&#39;-&#39;+&#39;;cPa(j)[i];i++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ &nbsp; switch(cPa(j)[i])/*&#39;;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;&amp;&#39;:write(N);&#39;|&#39;:begin inc(i);write(pasPart[j][i]); end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; end; end.</div><div class="code_line">&nbsp;{*/</div><div class="code_line">&nbsp;#define pUt(x,y)case x:putchar(y);break;</div><div class="code_line">&nbsp;&nbsp; { pUt(&#39;^&#39;,&#39;\n&#39;)pUt(&#39;#&#39;,((char*)Self)[23])pUt(&#39;%&#39;,&#39;\&quot;&#39;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;@&#39;,&#39;\&#39;)case&#39;$&#39;:n=0;c=cPa(j)[++i]!=((char*)Self)[65]</div><div class="code_line">&nbsp;&nbsp; &nbsp; ?((char*)Self)[82]:&#39;\&quot;&#39;; do printf(&quot; &nbsp; %c%s%c&quot;,c,cPa(n),c);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (*cPa(n++)?printf(&quot;,\n&quot;):0);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;|&#39;,cPa(j)[++i])case&#39;&amp;&#39;:printf(&quot;%d&quot;,N);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; default:putchar(cPa(j)[i]);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; eNd;; ;</div><div class="code_line">&nbsp;&nbsp; };</div></ol></div></div></div></div><br>
<br>
selfpr.cpc - с подсветкой для Pas<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(*COMENT/*------------------&#60;GRIGR[C]&#62;---------------------------</div><div class="code_line">іx&#62; (; Self Printing Pascal , C and MSDos COM *)program(* Code ;)</div><div class="code_line">іh22^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!</div><div class="code_line">АДДД made by GRIGoRusha ДДД grigr@mail.ru ДДДД */)=&amp;(int*)COMENT;</div><div class="code_line">const N=49;</div><div class="code_line">&nbsp;const(*Self)=&quot;SelfPrint Pas&amp;C&quot;&quot;*)Self=&#39;SelfPrint Pas&amp;C&#39;;s=(*&quot;;</div><div class="code_line">&nbsp;char c=&#39;Gr&#39;,*s=&amp;(int*)Self;</div><div class="code_line">&nbsp;(* cPart[] ) = {</div><div class="code_line">&nbsp;#define cPa(x)((char* )cPart[x])</div><div class="code_line">&nbsp;&nbsp; &quot;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;(|*COMENT/|*------------------&#60;GRIGR[C]&#62;---------------------------^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;іx&#62; (; Self Printing Pascal , C and MSDos COM *|)program(|* Code ;)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;іh22|^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV|^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;АДДД made by GRIGoRusha ДДД grigr|@mail.ru ДДДД *|/)=|&amp;(int*|)COMENT;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;const N=&amp;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; char c=#Gr#,*s=|&amp;(int*|)Self;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|* cPart[] ) = {^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define cPa(x)((char* )cPart[x])^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$c} ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define eNd }^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; /|*|) pasPart : array [0..N-1] of string = (^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;$p);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; (|*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; |#include &#60;stdio.h&#62;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; void main(void)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { int i,j,n;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; Self=%@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;a=#%,Self=#+#+/|*#;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; var i,j,m:integer;str:string;c:char;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; begin^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for j:=0 to N do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; for i:=1 to length(pasPart[j]) do^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; case pasPart[j][i] of^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; end; end.^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; {*|/^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; |#define pUt(x,y)case x:putchar(y);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; &nbsp; eNd;; ;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot; &nbsp; }&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;;^&quot;,</div><div class="code_line">&nbsp;&nbsp; &quot;&quot;} ;</div><div class="code_line">&nbsp;#define eNd }</div><div class="code_line">&nbsp;/*) pasPart : array [0..N-1] of string = (</div><div class="code_line">&nbsp;&nbsp; &#39;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;(|*COMENT/|*------------------&#60;GRIGR[C]&#62;---------------------------^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;іx&#62; (; Self Printing Pascal , C and MSDos COM *|)program(|* Code ;)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;іh22|^h21X)Ж1Тh5Eh5GX[)Ш»;}¬€Ц€ВН!9ЪV|^hRaYuпh_kZ)КН!‰С†й‰КН!ґL0АН!^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;АДДД made by GRIGoRusha ДДД grigr|@mail.ru ДДДД *|/)=|&amp;(int*|)COMENT;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;const N=&amp;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; const(|*Self)=%SelfPrint Pas|&amp;C%%*|)Self=#SelfPrint Pas|&amp;C#;s=(|*%;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; char c=#Gr#,*s=|&amp;(int*|)Self;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|* cPart[] ) = {^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define cPa(x)((char* )cPart[x])^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$c} ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define eNd }^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; /|*|) pasPart : array [0..N-1] of string = (^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;$p);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; (|*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; |#include &#60;stdio.h&#62;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; void main(void)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { int i,j,n;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; Self=%@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;a=#%,Self=#+#+/|*#;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; var i,j,m:integer;str:string;c:char;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; begin^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for j:=0 to N do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; for i:=1 to length(pasPart[j]) do^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; case pasPart[j][i] of^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|^#:writeln;#|##:write(####);#|%#:write(#%#);#|@#:write(#@#);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|$#: begin str:=^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/#+#|%~-~-!c+%#;inc(i);(*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=####;(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;for m:=0 to N-2 do writeln(# &nbsp; #,c,pasPart[m],c,#,#);(|*@^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; *|) &nbsp;write(# &nbsp; #,c,c);str:=#%;/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(j|&amp;=~-!-!s;*cPa(j);j++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ for(i=#+#-#+#;cPa(j)[i];i++)/|*#+^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; #*|/ &nbsp; switch(cPa(j)[i])/|*#;end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; #|&amp;#:write(N);#||#:begin inc(i);write(pasPart[j][i]); end;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; end; end.^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; {*|/^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; |#define pUt(x,y)case x:putchar(y);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; { pUt(#|^#,#@n#)pUt(#|##,((char*|)Self)[23])pUt(#|%#,#@%#)^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#|@#,#@@#)case#|$#:n=0;c=cPa(j)[++i]!=((char*|)Self)[65]^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; ?((char*|)Self)[82]:#@%#; do printf(% &nbsp; |%c|%s|%c%,c,cPa(n),c);^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (|*cPa(n++)?printf(%,@n%):0);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; pUt(#||#,cPa(j)[++i])case#|&amp;#:printf(%|%d%,N);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; default:putchar(cPa(j)[i]);break;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; &nbsp; eNd;; ;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39; &nbsp; }&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;;^&#39;,</div><div class="code_line">&nbsp;&nbsp; &#39;&#39;);</div><div class="code_line">&nbsp;(*/</div><div class="code_line">&nbsp;&nbsp; #include &#60;stdio.h&#62;</div><div class="code_line">&nbsp;&nbsp; void main(void)</div><div class="code_line">&nbsp;&nbsp; { int i,j,n;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Self=&quot;\</div><div class="code_line">&nbsp;*) &nbsp;a=&#39;&quot;,Self=&#39;+&#39;+/*&#39;;</div><div class="code_line">&nbsp;&nbsp; var i,j,m:integer;str:string;c:char;</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; for j:=0 to N do</div><div class="code_line">&nbsp;&nbsp; for i:=1 to length(pasPart[j]) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; case pasPart[j][i] of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;^&#39;:writeln;&#39;#&#39;:write(&#39;&#39;&#39;&#39;);&#39;%&#39;:write(&#39;&quot;&#39;);&#39;@&#39;:write(&#39;\&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;$&#39;: begin str:=</div><div class="code_line">&nbsp;&#39;*/&#39;+&#39;%~-~-!c+&quot;&#39;;inc(i);(*\</div><div class="code_line">&nbsp;*) &nbsp;if pasPart[j][i]=str[9] then c:=str[11] else c:=&#39;&#39;&#39;&#39;;(*\</div><div class="code_line">&nbsp;*) &nbsp;for m:=0 to N-2 do writeln(&#39; &nbsp; &#39;,c,pasPart[m],c,&#39;,&#39;);(*\</div><div class="code_line">&nbsp;*) &nbsp;write(&#39; &nbsp; &#39;,c,c);str:=&#39;&quot;;/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(j&amp;=~-!-!s;*cPa(j);j++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ for(i=&#39;+&#39;-&#39;+&#39;;cPa(j)[i];i++)/*&#39;+</div><div class="code_line">&nbsp;&#39;*/ &nbsp; switch(cPa(j)[i])/*&#39;;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &#39;&amp;&#39;:write(N);&#39;|&#39;:begin inc(i);write(pasPart[j][i]); end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else write(pasPart[j][i]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; end; end.</div><div class="code_line">&nbsp;{*/</div><div class="code_line">&nbsp;#define pUt(x,y)case x:putchar(y);break;</div><div class="code_line">&nbsp;&nbsp; { pUt(&#39;^&#39;,&#39;\n&#39;)pUt(&#39;#&#39;,((char*)Self)[23])pUt(&#39;%&#39;,&#39;\&quot;&#39;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;@&#39;,&#39;\&#39;)case&#39;$&#39;:n=0;c=cPa(j)[++i]!=((char*)Self)[65]</div><div class="code_line">&nbsp;&nbsp; &nbsp; ?((char*)Self)[82]:&#39;\&quot;&#39;; do printf(&quot; &nbsp; %c%s%c&quot;,c,cPa(n),c);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (*cPa(n++)?printf(&quot;,\n&quot;):0);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; pUt(&#39;|&#39;,cPa(j)[++i])case&#39;&amp;&#39;:printf(&quot;%d&quot;,N);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; default:putchar(cPa(j)[i]);break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; eNd;; ;</div><div class="code_line">&nbsp;&nbsp; };</div></ol></div></div></div></div><br>
<br>
</div></div>]]></description>
        <author>grigr</author>
        <category>Отзывы, Благодарности, Портфолио</category>
      </item>
	
      </channel>
      </rss>
	