Liste chaînée

Fermé
brixo - 30 déc. 2015 à 04:03
 brixoyes - 30 déc. 2015 à 15:02
Bonjour,
Bonjour,
on voudrait simuler un jeux de ronde : n enfants forment une ronde , ils choisissent l'un d'eux comme le 1er et commencent à compter à partir de lui . lorsque le compte arrivent au k ième enfant , ce dernier doit quitter la ronde ,la même chose s'applique sur le 2k ième et ainsi de suite ..
En simulant la ronde par une structure de données adéquate , écrire un programme qui donne la liste des enfants dans l'ordre où ils sont sortis :
1\ par une représentation chaînée
2\ par une représentation contiguë
-k est choisi aléatoirement
-Un jeux de test doit être préparé dans un fichier texte .
MERCI BEAUCOUP D'AVANCE
j'ai un petit problème avec les listes chaînées j'ai pas pu coder la solution
A voir également:

3 réponses

jordane45 Messages postés 38306 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 novembre 2024 4 705
30 déc. 2015 à 04:08
0
bon j'ai une fonction qui insère une chaîne de caractère dans une liste et je veux insérer 4 éléments saisie au clavier j'ai pas su comment faire .puis au moment de l'affichage il m'affiche toujours le dernier :
struct list
{
char*nom;
list *suiv;
};

list *inserer(list*tete,char*x)
{
list*q=new list;
q->nom=x;
q->suiv=NULL;
if(tete==NULL)
{
tete=q;
}
else
{
list *s=tete;
while(s->suiv!=NULL)
s=s->suiv;
s->suiv=q;
}
return tete;
}

void afficher(list*tete)
{
while(tete!=NULL)
{
printf(" \t %s \n ",tete->nom );
tete=tete->suiv;
}
}

main()
{

char y[10];

for(int i=0;i<4;i++)
{
scanf("%s", y);
tete=inserer(tete,y);
}
afficher(tete);
}


alors comment puorrais-je-faire pour la saisie au clavier
sinon si je fais ça :
tete=inserer(tete,"a");
tete=inserer(tete,"b");
tete=inserer(tete,"c");
tete=inserer(tete,"d");

ça marche ,donc c'est juste la saisie au clavier .je sais que "y" est un tableau et que le paramètre de la fonction inserer et un char mais j'ai pas su comment faire
merci d'avance
0
bon bien sure au main() { il y a : list *tete=NULL; // la déclaration de tete
0