A voir également:
- Programmation C
- Application de programmation - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Problème de programmation digicode extel klavy 3 ✓ - Forum Loisirs / Divertissements
- Programmation carte à puce vierge ✓ - Forum Matériel & Système
- Programmation binaire - Guide
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
2 juin 2009 à 16:50
2 juin 2009 à 16:50
Explique un peu mieux, ce que tu as à la base (types des xi, yi, fonctions déjà établies...)
Le mieux serait de mettre un commentaire en français pour chaque étape importante.
Il est évident qu'en C, faire xi * yi ← {xi , xk} * yi n'a aucun sens (pour moi)
Le mieux serait de mettre un commentaire en français pour chaque étape importante.
Il est évident qu'en C, faire xi * yi ← {xi , xk} * yi n'a aucun sens (pour moi)
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
3 juin 2009 à 12:12
3 juin 2009 à 12:12
Je ne dis pas avoir regarder ton code en détail (ton problème est ailleurs)
Cependant, il y a des lignes de codes qui me paraissent erronées, si elles ne le sont pas tant mieux !
Dans intersection :
Pour ton problème de "traduction" en C, je vais regarder ce que je peux faire, mais j'avoue être un peu perdu dans ton code...
Cependant, il y a des lignes de codes qui me paraissent erronées, si elles ne le sont pas tant mieux !
Dans intersection :
ldoc *tbb=NULL; while(tbb!=NULL) // tbb est déclaré NULL // on ne rentrera jamais à l'intérieur du while ! { tbb=bb->doc; while(tbb!=NULL) { if(tbb->doc = tb->doc) // ici il faut surement un "==" {Dans inclusion, tu renvoie 1 à la fin du "then" mais rien à la fin du "else" alors qu'on attend un int en résultat
Pour ton problème de "traduction" en C, je vais regarder ce que je peux faire, mais j'avoue être un peu perdu dans ton code...
2 juin 2009 à 18:24
1 1 1
2 0 1
ci dessus un contexte formel
les Yi sont les images respectives de Xi par la relation R
par exemple:X1=1 son image Y1={a, b}.
X2=2son image Y2={b}.
soient les structures en C suivantes:
typedef struct ldoc
{
char *doc;
struct ldoc *next; \*c'est la structure des Yi*\
} ldoc;
typedef struct cbase
{
char ext[5] ;\* ext:c'est l'extension qui représente les Xi *\
ldoc *doc;
int niv ;
struct cbase *next;
} cbase;\* cbase est la structure qui exprime le contexte formel dont on a cité un exemple ci dessus*\
voici deux procédures :
void intersection (cbase *b, cbase *bb, ldoc **ld) \* procédure pour voir l'intersection entre les images Yi*\
{ ldoc *tb=b->doc;
ldoc *tbb=NULL;
while(tbb!=NULL)
{ tbb=bb->doc;
while(tbb!=NULL)
{ if(tbb->doc= tb->doc)
{ if((*ld)==NULL)
{ (*ld)=(ldoc*)malloc(sizeof(ldoc));
(*ld)->doc=tbb->doc;
(*ld)->next=NULL;
}
else
{ ldoc *pld=(*ld);
while(pld->next!=NULL)
pld=pld->next;
ldoc *tld=(ldoc*)malloc(sizeof(ldoc));
tld->doc=tbb->doc;
tld->next=NULL;
}
}
tbb=tbb->next;
tb=tb->next;
}
}
}
int inclusion(cbase *b, cbase *bb) \*procédure qui vérifie s'il ya inclusion entre les Yi ou non*\
{ if (b->niv<=bb->niv)
{
int ok;
ldoc *p=b->doc;
ldoc *g=NULL;
while (p!=NULL)
{
ok=0;
g=bb->doc;
while (g!=NULL)
{
if (g->doc==p->doc)
{
ok++;
p=p->next;
g=NULL;
}
else g=g->next;
}
if (ok==0)
{
free(g);
free(p);
return 0;
}
}
free(g);
free(p);
return 1;
}
}