עריסטו
Active member
חידת תכנות בשפת C
מה עושה התוכנית המטורפת הבאה:
זה עובר קומפילציה ב - Microsoft visual C++ 6.0... נסו תחילה לפתור בלי להריץ את התוכנית. אם לא תצליחו - הריצו את התוכנית (היא מחכה להקלדה של מספר טבעי), תראו מה היא עושה ואחר כך תסבירו איך היא עובדת.
מה עושה התוכנית המטורפת הבאה:
#include<stdio.h> #include<stdlib.h> #include<time.h> char Q,B,I=40,H[40],O[40], Y[]="%d";int P;main(){srand( time(NULL));for(Q=*H=scanf(Y, &P);--I;O=H=I)printf( "._");for(;(Q-=B=!B)||(printf ("\n|"),Q=39,P--);B||printf( Y))Y=B[Q-(I=Q[H-B])&&!P&Q ==O[Q]|rand()&1||!P&!B?H[O =O[Q]]=I,H[O[Q]=Q-B]=Q,"_.": " |"];}
זה עובר קומפילציה ב - Microsoft visual C++ 6.0... נסו תחילה לפתור בלי להריץ את התוכנית. אם לא תצליחו - הריצו את התוכנית (היא מחכה להקלדה של מספר טבעי), תראו מה היא עושה ואחר כך תסבירו איך היא עובדת.