spow 44198 ارسال شده در 29 فروردین، 2011 سلام بسیاری از دوستانی که با برنامه نویسی کامپیوتر سروکار داشتند حتما اسم پروژه 8 وزیر به گوشون خورده پروژه ای که خودم برای نوشتن برنامش تو پاسکال ساعتها درگیرش بودم(پیدا کنم برنامه ای که اون موقع نوشتم رو میزارم) تو این تاپیک سورس این پروژه رو به زبان های مختلف برنامه نویسی براتون قرار میدیم امیدوارم که به درد دوستان عزیز بخوره حتما خودتون درموردش فکر کنید واقعا برنامه جالبی میشه موفق باشیم 5
spow 44198 مالک ارسال شده در 29 فروردین، 2011 برنامه نحوه چيدن 8 وزير در صفحه شطرنج به زبان c++ اینو تست کنید من نصب شده رو سییستمم ندارم فعلا #include #include #include #include #include #include #define EMPTY 48 #define ESCAPE 27 void show(int *minister, int answer); void main() { int minister[8] = {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08}; register int i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; register int s, s1, answer = 0; char flag[8][8]; char ch; int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, ""); errorcode = graphresult(); if (errorcode != grOk) { cprintf("Graphics error: %s\n", grapherrormsg(errorcode)); cprintf("Press any key to halt:"); getch(); exit(1); } while(i minister[0] = 8; j = 0; k = 0; l = 0; m = 0; n = 0; o = 0; p = 0; memset(flag, EMPTY, 64); minister[0] = i; for(s = i; s >= 0; s--) flag[i - s] = 'i'; for(s = i; s flag[s - i] = 'i'; for(s = 1; s flag = 'i'; while(j minister[1] = 8; for(s = 0; s for(s1 = 1; s1 if(flag[s1] > 'i'){ flag[s1] = EMPTY; k = 0; l = 0; m = 0; n = 0; o = 0; p = 0; } while(flag[j][1] != EMPTY) j++; if(j minister[1] = j; for(s = j; s >= 0; s--) if( (j - s + 1) flag[j - s + 1] = 'j'; for(s = j; s if( (s - j + 1) flag[s - j + 1] = 'j'; for(s = 2; s if(flag[j] == EMPTY) flag[j] = 'j'; } if(j while(k minister[2] = 8; for(s = 0; s for(s1 = 2; s1 if(flag[s1] > 'j'){ flag[s1] = EMPTY; l = 0; m = 0; n = 0; o = 0; p = 0; } while(flag[k][2] != EMPTY && k k++; if(k minister[2] = k; for(s = k; s >= 0; s--) if( (k - s + 2) flag[k - s + 2] = 'k'; for(s = k; s if( (s - k + 2) flag[s - k + 2] = 'k'; for(s = 3; s if(flag[k] == EMPTY) flag[k] = 'k'; } if(k while(l minister[3] = 8; for(s = 0; s for(s1 = 3; s1 if(flag[s1] > 'k'){ flag[s1] = EMPTY; m = 0; n = 0; o = 0; p = 0; } while(flag[l][3] != EMPTY && l l++; if(l minister[3] = l; for(s = l; s >= 0; s--) if( (l - s + 3) flag[l - s + 3] = 'l'; for(s = l; s if( (s - l + 1) flag[s - l + 3] = 'l'; for(s = 4; s if(flag[l] == EMPTY) flag[l] = 'l'; } if(l while(m minister[4] = 8; for(s = 0; s for(s1 = 4; s1 if(flag[s1] > 'l'){ flag[s1] = EMPTY; n = 0; o = 0; p = 0; } while(flag[m][4] != EMPTY && m m++; if(m minister[4] = m; for(s = m; s >= 0; s--) if( (m - s + 4) flag[m - s + 4] = 'm'; for(s = m; s if( (s - m + 4) flag[s - m + 4] = 'm'; for(s = 5; s if(flag[m] == EMPTY) flag[m] = 'm'; } if(m while(n minister[5] = 8; for(s = 0; s for(s1 = 5; s1 if(flag[s1] > 'm'){ flag[s1] = EMPTY; o = 0; p = 0; } while(flag[n][5] != EMPTY && n n++; if(n minister[5] = n; for(s = n; s >= 0; s--) if( (n - s + 5) flag[n - s + 5] = 'n'; for(s = n; s if( (s - n + 5) flag[s - n + 5] = 'n'; for(s = 6; s if(flag[n] == EMPTY) flag[n] = 'n'; } if(n while(o minister[6] = 8; for(s = 0; s for(s1 = 6; s1 if(flag[s1] > 'n'){ flag[s1] = EMPTY; p = 0; } while(flag[o][6] != EMPTY && o o++; if(o minister[6] = o; for(s = o; s >= 0; s--) if( (o - s + 6) flag[o - s + 6] = 'o'; for(s = o; s if( (s - o + 6) flag[s - o + 6] = 'o'; for(s = 7; s if(flag[o] == EMPTY) flag[o] = 'o'; o++; } if(o while(p minister[7] = 8; while(flag[p][7] != EMPTY && p p++; if(p minister[7] = p; s1 = 0; for(s = 0; s if(minister s1++; if(s1 == 8){ show(minister, answer); ch = getch(); if(ch == ESCAPE){ closegraph(); exit(1); } answer++; } } p++; } o++; } n++; } m++; } l++; } k++; } j++; } i++; } closegraph(); } void show(int *minister, int answer) { register int i; char s[25], ch; cleardevice(); sprintf(s, "%02d form(s) of answer.", answer + 1); outtextxy(160, 10, s); for(i = 0; i line(i * 16, 0, i * 16, 128); for(i = 0; i line(0, i * 16, 128, i * 16); for(i = 0; i bar((i * 8) + 4, minister[i / 2] * 16 + 4, (i * 8) + 12, minister[i / 2] * 16 + 12); outtextxy(10, 440, "Press any key to show another forms.(Espace for skip / Escape for end.)"); } 4
spow 44198 مالک ارسال شده در 29 فروردین، 2011 برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام اینم یه نمونه دیگه که تمام 92 حالت رو میتونین اجرا کنین 3
spow 44198 مالک ارسال شده در 29 فروردین، 2011 برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام حجم : ۱۳۰ کیلوبایت 3
spow 44198 مالک ارسال شده در 29 فروردین، 2011 کسی میتونه برنامه رو به صورت متنی با توابع برگشتی بزاره؟ 3
morta 3323 ارسال شده در 14 خرداد، 2011 وای ... تا 5 ماه پیش برنامه نویسی سی ++ خیلی خوب شده بود ... ولی اصلا وقت نمیکنم کار کنم ... داره یادم میره ... ( اخه وقتم داشته باشم کا ر نمیکنم .... الان وقتم مهمتر ...) 1
ارسال های توصیه شده