1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| #include<stdio.h>
#include<stdlib.h>
long itemset;
int n,taille,i,m,k,l;
long b[100];
long item(int n)
{
long p=1;
int j=0;
int t[32];
itemset=0;
for(i=0;i<32;t[i]=0,i++);
for(i=0;i<n;i++)
{
printf("donnez un identifiant ");
do
scanf("%d",&j);
while (j>31);
t[j]=1;
}
for(i=31;i>(-1);i--)
{
itemset+=(t[i]*p);
p*=2;
}
return(itemset);
}
int main()
{
int B[32];
int t[32];
int l,f,j;
int si=0;
int cx=1;
do {
printf("donnez le nombre d'identifiant");
scanf("%d",&n);
} while(n>33);
taille=n;
itemset=item(n);
for (f=0;f<32;f++)
{
B[l]=t[l];
}
printf("ITEMSET EST %ld\n",itemset);
do {
printf("donnez la longueur de la base :");
scanf("%d",&m);
} while(m>=100);
for(k=0;k<m;k++)
{
printf("ensemble n : %d \n",k+1);
do {
printf("donnez le nombre d'identifiant");
scanf("%d",&n);
} while(n>33);
b[k]=item(n);
printf("l'element de l'ensemble EST %ld\n",b[k]);
}
__asm__ (
"movl %ecx,m;"
"movl %ecx,m;"
"boucle:;"
"movl %eax,itemset;"
"movl %ebx,$b+%ecx;"
"cmpl %eax,%ebx;"
"JE sortie;"
"jmp trait;"
"trait:;"
"inc %si;"
"inc %ecx;"
"sortie:;"
"loop boucle;"
);
printf("l'itemset est trouvee a la position%d\n",cx);
printf("le nombre d'occurrence de l'itemset est%d\n",si);
system ("pause");
return(0);
} |
Partager