Vous êtes sur la page 1sur 1

/*la SD est un tableau de file(d'entiers) (TDA)

le nombre de categorie m est suppose egal a 5


la 1er case contient la file d'entiers negatif
la 2eme case contient la file d'entiers (<10)
la 3eme case contient la file d'entiers (<20)
la 4eme case contient la file d'entiers (<30)
la 5eme case contient la file d'entiers (<40)*/

//SD.h
#define m 5
#include<stdio.h>
#include<assert.h>
#include<malloc.h>
struct file * T [m];//declaration de la SD
void creer_SD(struct file* []);//fonction qui cree la SD
unsigned vide_SD(struct file* []);//fonction qui vérifie si la SD est vide
void inserer(int,struct file* []);//fonction qui ajoute un element à la SD
void supprimer(unsigned ,struct file*[]);//fonction qui supprime un element de la SD

//SD.c
void creer_SD(struct file * T[])
{ int i;
for(i=0;i<m;i++){
T[i]=creerfile();//creer une file dans chaque case de tableau
}
}

unsigned vide_SD(struct file * T[])


{ while((videfile(T[i]))&&(i<m))
i++;
return(i==m);//verifier si chaque case est vide
}

void inserer(int info, struct file* T[])


{ if(info<0)
enfiler(info,T[0]);//on enfile les entiers negatif en T[0]
if ((info>=0)&&(info<10))
enfiler(info,T[1]); //on enfile les entiers entre 0 et 10 en T[1]
if ((info>=10)&&(info<20))
enfiler(info,T[2]);//on enfile les entiers entre 10 et 20 en T[2]
if ((info>=20)&&(info<30))
enfiler(info,T[3]);//on enfile les entiers entre 20 et 30 en T[3]
else
enfiler(info,T[4]); //on enfile les autres entiers en T[5]
}
void supprimer(unsigned pos,struct file* T[] )
{ assert(!vide_SD(T[pos]));//verifier si la case n'est pas vide
defiler(T[pos]);//on defile un entier de l'element }

Vous aimerez peut-être aussi