Hanoi grace a une matrice
4 participants
Page 1 sur 1
Hanoi grace a une matrice
- Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int N, cpt=0;
int **creermatrice(int l, int c)
{ int i,**p;
p = (int **)malloc(sizeof(int *) * l);
for (i=0 ; i<l ; i++)
{ p[i] = (int *)malloc(sizeof(int) * c); }
return(p);
}
int **liremat(int l)
{ int **p;
int i, j;
p=creermatrice(l,3);
for (i=0 ; i<l ; i++)
{ for (j=0 ; j<3 ; j++)
{ if (j) p[i][j] = 0;
else p[i][j] = i+1;
}
}
return p;
}
void ecriremat(int **p, int l)
{ int i, j;
printf("\n\n" );
for (i=0 ; i<l ; i++)
{ for (j=0 ; j<3 ; j++)
{ if (p[i][j] == 0) printf(".\t" );
else printf("%d\t", p[i][j]); }
printf("\n" );
}
printf("-------------------" );
}
void traiter(int **p, int d, int a, int n)
{
int i=0, v;
while ( (i<n) && (p[i][d] == 0) )
i++;
if (i<n) { v = p[i][d];
p[i][d] = 0;
}
i=n-1;
while ( (i>=0) && (p[i][a] != 0) )
i--;
if (i>=0)
p[i][a] = v;
cpt++;
ecriremat(p, N);
}
void hanoi(int **p, int n, int un, int deux, int trois)
{
if (n == 0 ) {;}
else
{ hanoi(p, n-1, un, trois, deux);
traiter(p, un, trois, N);
hanoi(p, n-1, deux, un, trois);
}
}
int main()
{
int **p;
printf("Nombre d anneaux ? : " );
scanf("%d", &N);
p = liremat(N);
printf("\n\n" );
ecriremat(p, N);
hanoi(p, N, 0, 1, 2);
printf("\n\nRealise en %d operations\n\n", cpt+1);
return 0;
}
Re: Hanoi grace a une matrice
Ceci est fort gentil de ta part chère délégué je vais regarder ce code de ce pas....
le sous-délégué- Admin
- Messages : 60
Date d'inscription : 24/09/2009
Age : 36
Re: Hanoi grace a une matrice
merci pr le code,
sinon ton exo1d ne marche pas, boucle infini ... enfin pour mon soft, ça boucle a l'infini ....
sinon ton exo1d ne marche pas, boucle infini ... enfin pour mon soft, ça boucle a l'infini ....
Ewasx- Humain
- Messages : 85
Date d'inscription : 26/09/2009
Age : 35
Localisation : Vitry-Sur-Seine
Re: Hanoi grace a une matrice
merci THI-BAU-L-T
j'ai posté le d de l'exo 1 pour ce qui veulent
toi je te pique ton hanoï dejà j'ai lu le code et je commence à avoir mal à la tête
j'ai posté le d de l'exo 1 pour ce qui veulent
toi je te pique ton hanoï dejà j'ai lu le code et je commence à avoir mal à la tête
Eric- Nain
- Messages : 44
Date d'inscription : 07/10/2009
Age : 35
Localisation : 94-91-971 mec (un peu partout quoi)
Re: Hanoi grace a une matrice
Il y a des bouts de codes a pas reprendre dans celui ci!
Exemple :
Ne connaissant pas le maloc, j'ai recup d'internet! (je previens juste)
Sinon la 2eme soluce est a 100% moi. Donc sure. Je vous laiss mijoter un peu
Exemple :
- Code:
int **creermatrice(int l, int c)
{ int i,**p;
p = (int **)malloc(sizeof(int *) * l);
for (i=0 ; i<l ; i++)
{ p[i] = (int *)malloc(sizeof(int) * c); }
return(p);
}
Ne connaissant pas le maloc, j'ai recup d'internet! (je previens juste)
Sinon la 2eme soluce est a 100% moi. Donc sure. Je vous laiss mijoter un peu
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|