DICTIONNAIRE DANS UN ARBRE BINAIRE

pabbati Messages postés 51 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 2 novembre 2023 - 31 déc. 2012 à 20:50
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 12 janv. 2013 à 12:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54848-dictionnaire-dans-un-arbre-binaire

cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
12 janv. 2013 à 12:30
1. Utilise des streams
2. As-tu essayé de construire ton arbre à partir du fichier dico.dat ? Si non, fais-le. Que remarques-tu de particulier ? Que faire pour l'éviter ?
pabbati Messages postés 51 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 2 novembre 2023
31 déc. 2012 à 20:50
/*
pour réaliser les fichiers ".dat" moins longs
*/
static char buf[20];
void videbuf()
{//fprintf(fichier,"%s",buf);*buf=0;return;
int n=strlen(buf);
if(n)
{
fputc((char)(n+48),fichier);
*buf=0;
}
}
void ecrit(char c)
{
if(c=='#')
{
if(*buf=='0')*buf=0;
else strcat(buf,"#");
return;
}
videbuf();
if(!c){*buf=c='0';}
fputc(c,fichier);
}
void lit()
{// fscanf(fichier,"%c",calu,1);if(*calu=='0')*calu=0;return;
int n=strlen(buf);
if(n)
{
*calu=*buf;
buf[n-1]=0;
return;
}
fscanf(fichier,"%c",calu,1);
if(*calu=='0')
{
*calu=0;
strcat(buf,"#");
}
else if((*calu>'0')&&(*calu<'A'))
{
for(n=0;n<(*calu)-49;n++)strcat(buf,"#");
*calu='#';
}
}
Rejoignez-nous