Erreur d'execution programme de tri itératif

benigeek -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde,
Je suis en L3 MASS et pour un projet j'ai besoin (entre autre d'une fonction itérative qui puisse me donner toutes les permutations d'un ensemble avec répétition)
Malheureusement ma fonction ne s'exécute pas mais elle compile ;-)

pourriez vous me dire si vous comprenez mon erreur? merci d'avance.

#include <stdio.h>

int main(){
int tab[4];
int comp=1;
int i =3;
int a,j,k;

while(comp!=0){
while(tab[3]!=3){
tab[3]++;
for(k=0; k<4; k++){
printf(" %d",tab[k]);
}
}
while (tab[i]==3){
a=i;
i--;
}
if(a!=0){
tab[a-1]++;
for(j = a; j < 4; j++){
tab[j]=0;
}
}
else { comp=0;}
}
}
A voir également:

2 réponses

benigeek
 
pas d'idée?
quand j'exécute le programme effectue une boucle qui ne s'arrête jamais.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,

while(comp!=0){
Dans cette boucle, comp n'est jamais modifiée. La boucle sera donc infinie.

while(tab[3]!=3){
Attention, ton tableau tab n'a pas été initialisé. Il contient donc n'importe quoi.

Cdlt
0