Esempio n. 1
0
int main () {
  contenu txt;
    fifo * pf = creer_fifo () ;
    for (; ; ) {
          printf (" Ajouter un texte a la file (! pour retirer , * pour finir ) : ") ;
          saisir_contenu (& txt ) ;
          if ( comparer_chaine (& txt , "*") == 0)
               break ;
          if ( comparer_chaine (& txt , "!") == 0) {
               if ( est_vide_file ( pf ) ) {
                  printf (" Retrait imposible . File vide ") ;
               }
             else {
                 defiler_file ( pf , & txt ) ;
               }
               afficher_file ( pf ) ;
               printf ("\n ") ;
        }
          else {
            enfiler_file ( pf , & txt ) ;
               afficher_file ( pf ) ;
               printf ("\n ") ;
          }
    }

    delete_file ( pf ) ;
    getchar () ;
    return 0;
}
Esempio n. 2
0
/*Procédure qui supprime le premier élément de la file*/
void defile(file *f)
{
	printf("-->Suppression\n");

	if (est_vide_file(*f))
		printf ("------------>File vide, impossible de supprimer une valeur\n");
	else
	{
		(*f)->debut = ((*f)->debut + 1) % N;	
		(*f)->nbr_val--;
	}
}
Esempio n. 3
0
//Affichage d'une file
void affiche_file (file f)
{
	int i,j;

	i = f->debut;

	printf ("Affichage file :");
	
	if(est_vide_file(f))
		printf("(vide)");
	else	
		for (j=0;j<(f->nbr_val);j++)
		{
			printf (" -> %d (case %d)",f->tab[i],i); //Affiche la valeur dans le tableau avec le numero de la case 
			if(i == N-1)						//du tableau pour montrer le décalage des indices dans le tableau
				i = 0;
			else
				i++;
		}
	printf("\n");
}
Esempio n. 4
0
Arbre algo_arbreACM(File fileACM, Sommet * tab_sommet, int num_depart)
{

	Arbre arbreACM = NULL;
	Arc* ptr_arc = NULL;

	arbreACM = malloc(sizeof(*arbreACM));

	if (arbreACM == NULL)
		return NULL;

	arbreACM->sommet = &tab_sommet[num_depart];
	tab_sommet[num_depart].noeudArbreACM = arbreACM;


	while (!est_vide_file(fileACM)) {
		ptr_arc = (Arc *) defiler(&fileACM);
		ajouter_arbre(ptr_arc, tab_sommet);
	}

	return arbreACM;
}