تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: برنامه به زبان c :حرکت اسب و هشت وزیر

  1. #1
    داره خودمونی میشه nastaran_take's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    zanjan
    پست ها
    21

    پيش فرض برنامه به زبان c :حرکت اسب و هشت وزیر

    سلام
    ممنون میشم اگه کسی بلده کمکم کنه لطفا به زبان c باشه البته اگه شبه کد هم باشه مشکلی نیست البته حرکت اسب باید از هر خونه فقط یک بار رد شه 8 وزیر هم که توضیح نمیخواد
    اگه کمک کنید ممنون میشم

  2. #2
    آخر فروم باز hamidreza_buddy's Avatar
    تاريخ عضويت
    Sep 2004
    محل سكونت
    شریف
    پست ها
    1,167

    پيش فرض


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برنامۀ حرکت اسب توی این لینک شبه کدش هست. به روش Backtracking حل شده:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    Last edited by hamidreza_buddy; 21-05-2007 at 15:26.

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    May 2007
    پست ها
    2

    پيش فرض برنامه 8 وزیر

    //8vazir
    #include <stdio.h>
    #include <conio.h>
    /*-----------------*/
    int aray[8][8]={0},rp=1,j_o[8]={0},Vazir_no,j,Ok,Ok2=1,R1=0,Ans=1,X=0;
    void DrawChes(void);
    void Tiker(void);
    void DrawData(void);
    void GoBack(void);
    /*-----------------*/
    void main(void){
    int k,l;
    textbackground(1);
    clrscr();
    Vazir_no=0;
    j=-1;
    while(Ok2==1){
    Ok=1;
    for( ;j<8&&Ok==1;j++){
    if(aray[Vazir_no][j]==0){
    Tiker();
    Ok=0;
    j_o[Vazir_no]=j+1;
    Vazir_no++;
    if(Vazir_no==8){
    DrawChes();
    DrawData();
    getch();
    if(rp>25){
    rp=1;
    X++;
    }
    gotoxy(X*12+19,rp++);
    textbackground(3); textcolor(0);
    cprintf("%2d:",Ans++);
    textbackground(3); textcolor(1);
    for(k=0;k<8;k++)
    for(l=0;l<8;l++)
    if(aray[k][l]>49)cprintf("%1d",l+1);
    }
    j=-1;
    }
    else if (j>7){
    for(k=0;k<8;k++)
    for(l=0;l<8;l++)
    if( aray[k][l]==Vazir_no || aray[k][l]==(50+Vazir_no-1) )
    aray[k][l]=0;
    GoBack();
    }
    }
    if (j>7){
    if(j_o[Vazir_no-1]>7){
    for(k=0;k<8;k++)
    for(l=0;l<8;l++)
    if(aray[k][l]==Vazir_no||aray[k][l]==50+Vazir_no-1)
    aray[k][l]=0;
    }
    GoBack();
    }
    }
    }
    /*----------------------*/
    void GoBack(void){
    int register k,l;
    if(j>=7/*&&j<9*/&&Vazir_no>0){
    for(k=0;k<8;k++)
    for(l=0;l<8;l++)
    if( aray[k][l]==Vazir_no || aray[k][l]==(50+Vazir_no-1) )
    aray[k][l]=0;
    j=j_o[Vazir_no-1];
    Vazir_no--;
    Ok=1;
    }
    else{
    Ok2=0;
    }
    }
    /*----------------------*/
    void Tiker(void){
    int k;
    aray[Vazir_no][j]=50+Vazir_no;
    for(k=0;k<8;k++) if(aray[Vazir_no][k]==0)aray[Vazir_no][k]=Vazir_no+1;
    for(k=0;k<9;k++) if(aray[k][j]==0)aray[k][j]=Vazir_no+1;
    for(k=0;k<8;k++)
    if( (Vazir_no+k)<8 && (j+k)<8 && aray[Vazir_no+k][j+k]==0 )
    aray[Vazir_no+k][j+k]=Vazir_no+1;
    for(k=-8;k<8;k++)
    if( (Vazir_no+k)<8 && (j-k)>-1 && aray[Vazir_no+k][j-k]==0 )
    aray[Vazir_no+k][j-k]=Vazir_no+1;
    }
    /*----------------------*/
    void DrawChes(void){
    int k,l,m;
    for(k=0;k<8;k++){
    textbackground(4);
    textcolor(14);
    gotoxy(2*k+2,1);
    cprintf("%c ",'A'+k);
    gotoxy(1,k+2);
    cprintf("%1d",k+1);
    textbackground(9);
    for(l=1;l<9;l++){
    for(m=1;m<9;m++)
    if((l%2&&m%2)|| !(l%2||m%2)){
    gotoxy(2*l,m+1);
    textbackground(7);
    textcolor(7);
    if(aray[l-1][m-1]!=0){
    textbackground(7);
    textcolor(1);
    if(aray[l-1][m-1]>20) cprintf("* ");
    else cprintf("°°");
    }
    else{
    cprintf("²²");
    }
    }
    else{
    gotoxy(2*l,m+1);
    textbackground(5);
    if(aray[l-1][m-1]!=0){
    textbackground(5);
    textcolor(15);
    if(aray[l-1][m-1]>20) cprintf("* ");
    else cprintf("°°");
    }
    else{
    textbackground(5);
    textcolor(5);
    gotoxy(2*l,m+1);
    cprintf("²²");
    }
    }
    }
    }
    }
    /*----------------------*/
    void DrawData(void){
    int register k,l;
    if(rp>=20){
    textbackground(1);
    clrscr();
    rp=1;
    }
    gotoxy(1,25);
    for(l=0;l<8;l++) cprintf("%2d.",j_o[l]);
    gotoxy(19,rp++);
    textbackground( 0 );
    textcolor( 15 );
    cprintf("Vazir_no=%d,j=%d,j[i]=%d,j[i-1]=%d",Vazir_no,j,j_o[Vazir_no],j_o[Vazir_no-1]);
    for(k=0;k<8;k++){
    gotoxy(50,k+1);
    for(l=0;l<8;l++){
    textbackground(0);
    textcolor( aray[l][k] );
    if(aray[l][k]>=50){
    textbackground(7);
    textcolor( aray[l][k]-49 );
    }
    cprintf("%2d.",aray[l][k]);
    }
    }
    }

  4. #4
    در آغاز فعالیت
    تاريخ عضويت
    Nov 2010
    محل سكونت
    چابهار با اصلیت اردبیل
    پست ها
    2

    پيش فرض

    سلام برای برنامه های کوچکی مثل عدد آنگسترم و عدد اول اینجور چیزا رو من میتونید حساب کنید

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •