CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Labyrinthe language C

boblaliberte
boblaliberte
Niveau 1
26 avril 2016 à 03:10:32

Bonjour,

Je suis sur un petit projet personnel et je suis surtout débutant en programmation. Je veux créé un programme qui est capable de lire un fichier de type tableau avec des X, des espaces ainsi qu'un point D et un point A(départ et arrivé). Le fichier ressemble a ceci. Pas de souci pour le lire et trouver les coordonnées de D pour savoir ou commencer a chercher mais le je n'arrive pas a faire pas foncion recursive pour remplir mon tableau avec des étoiles en trouvant le bon chemin évidemment.

XXXXXA X
X X X XX X
X XX X
XXXX XXX
X XXX X
X X X X
XXXX X
X XXXX
X XXX DXX
X XXXX

const int NB_RANGEE = 10;
const int NB_COL = 10;
char labyrinthe[10][NB_COL+2]; // 1 pour le \n, 1 pour le null

/*
* Fonction: lireFichier
* ----------------------------
* Lis le fichier labyrinthe.txt et place le contenu dans le tableau
*/
bool lireFichier()
{

FILE * fichier;

fichier = fopen("labyrinthe.txt", "r");

if (fichier == NULL)
{

printf("impossible d'ouvrir le fichier");
return false;
}

else
{

for (int i = 0; i < NB_RANGEE; i++)
{
for (int j = 0; j < NB_COL+2; j++)
{

labyrinthe[i][j] = fgetc(fichier);
printf("%c", labyrinthe[i][j]);

if (labyrinthe[i][j]=='\n')
{
break;

}

}
}

printf("\n");

}
return true;
}

bool trouveDepart(int* rangee, int* colonne)
{

for (int i = 0; i < NB_RANGEE; i++)
{
for (int j = 0; j < NB_COL+2; j++)
{

if (labyrinthe[i][j] == 'D')

{

*rangee = i;
*colonne = j;

printf(" Le Départ se trouve sur la rangee: %d et la colonne: %d", *rangee, *colonne);
return true;
}

}
}

return false;
}

'''bool trouveSolution(int rangee, int colonne)
{

if (trouveSolution(rangee, colonne + 1) == ' ' && trouveSolution(rangee, colonne +1))

{

printf("*");
colonne++;

return trouveSolution(rangee, colonne);

}

else if (labyrinthe[rangee][colonne - 1] == ' ' && trouveSolution(rangee, colonne - 1))

{

printf("*");
colonne--;

return trouveSolution(rangee, colonne);

}

else if (labyrinthe[rangee + 1][colonne] == ' ' && trouveSolution(rangee +1, colonne))

{

printf("*");
rangee++;

return trouveSolution(rangee, colonne);

}

else if (labyrinthe[rangee - 1][colonne] == ' ' && trouveSolution(rangee - 1, colonne))

{

printf("*");
rangee--;

return trouveSolution(rangee, colonne);

}

return false;
'''

int _tmain(int argc, _TCHAR* argv[])

{
lireFichier();
getchar();
int rangee = 0, colonne = 0;

trouveDepart(&rangee, &colonne);
getchar();
trouveSolution(rangee, colonne);
getchar();
écrireFichier();
getchar();
return 0;
}

Merci pour votre aide

LGV
LGV
Niveau 28
26 avril 2016 à 05:21:01

utilise pastebin ou similaire pour poster du code lisible, c-a-d indente avec coloration syntaxique

au passage, sais-tu te servir d'un debugger (via ton IDE ou en ligne de commande) ?
tracer le code pour detecter la logique erronee est la base pour commencer a etre autonome

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment