[C++] Sekwencja ruchów skoczka szachowego

Sniegu
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 17 lis 2015, o 00:05
Płeć: Mężczyzna
Lokalizacja: Polsza

[C++] Sekwencja ruchów skoczka szachowego

Post autor: Sniegu »

Witam.
Bazuje na kodzie i podpowiedziach użytkownika Crizz z tego tematu: 168448.htm
Ukryta treść:    



skleiłem coś takiego (funkcja wypelniacz jest rozpisana dalej i działa poprawnie);

Kod: Zaznacz cały

#include<stdio.h>


int konik(int (T)[][12], int i, int j, int N, int pole)
{
      printf("A");
      T[i][j]=pole;
      if(pole==N*N) return 1;
      if(T[i-2][j-1]==0 && konik(T,i-2,j-1, N, pole+1)){ return 1;}
      if(T[i-2][j+1]==0 && konik(T,i-2,j+1, N, pole+1)){ return 1;}
      if(T[i+2][j-1]==0 && konik(T,i+2,j-1, N, pole+1)){ return 1;}
      if(T[i+2][j+1]==0 && konik(T,i+2,j+1, N, pole+1)){ return 1;}
      if(T[i+1][j-2]==0 && konik(T,i+1,j-2, N, pole+1)){ return 1;}
      if(T[i+1][j+2]==0 && konik(T,i+1,j+2, N, pole+1)){ return 1;}
      if(T[i-1][j+2]==0 && konik(T,i-1,j+2, N, pole+1)){ return 1;}
      if(T[i-1][j-2]==0 && konik(T,i-1,j-2, N, pole+1)){ return 1;}
      T[i][j]=0;
      return 0;
}


void wypelniacz(int tab[],int size);



int main()
{
    int size=8;
    int tab[size+4][size+4];
    tab[0][0]=10;
    wypelniacz(tab,size);



int i=2,j=2,pole=1;
int konik( tab,  i, j,  size,  pole);

     /*for(int i=0;i<size+4;i++)
    {
            for(int j=0;j<size+4;j++)
            {
                printf("%d ",tab[i][j]);
            }
        printf("
");
    }*/

return 0;
}
Mam kilka pytań bo program kompletnie nie działa. Zdaje sobie sprawę że jest już trochę pogmatwane ponieważ sporo zmieniałem i kombinowałem.
1.Czemu program nawet nie wchodzi do funkcji konik (nie wypisuje się "A")?
2.Z posta Crizz nie rozumiem:
Ukryta treść:    
3. Co jeszcze zrobić aby program zaczał działać poprawnie.

Dziekuje za wszystkie wskazówki.
Pozdrawiam.
Ostatnio zmieniony 17 lis 2015, o 06:56 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[C++] Sekwencja ruchów skoczka szachowego

Post autor: jarzabek89 »

Jak ma wejść do tej funkcji skoro jej nigdzie nie wywołujesz?
Mało tego, przeciążasz tą funkcje, a chyba chciałeś ją wywołać
Zamień:

Kod: Zaznacz cały

int konik( tab,  i, j,  size,  pole);
na

Kod: Zaznacz cały

konik( tab,  i, j,  size,  pole);
ODPOWIEDZ