Un problem avec C

scofild52 Messages postés 5 Date d'inscription jeudi 28 octobre 2010 Statut Membre Dernière intervention 31 décembre 2010 - 30 déc. 2010 à 13:56
BunoCS Messages postés 15486 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 septembre 2024 - 18 janv. 2011 à 16:15
salut a tous je suis un bebutant dans la language C.
je veut representer un ensemble via tableau de bit en c.
chaque elements de l'ensemble sera representer par un nombre
exemple:{maison,voiture,lait}se transforme a {1,6,9}avec 1 6 9 les identifiants respectives a maison ,voiture et lait.
-les elements de tableau de bits sont initialisé a 0 <<00000000>>
-metre 1 le bit ayant l'indices figurant dans l'ensemble.

on considere que les ensembles de taille maximale 32 et je veut:
- saisir un ensemble des identifiants dont la valeur maximale a 31 et de générer la representation en tableau de bits de ce ensemble dans une variable de taille 4 octets en memoire nommé "itemset".
-saisir une serie de 100 ensemble d'itentifianfs au plus en respectants les contraints presedants.cette serie nommé "base"
- afficher les indices et lenombre des ensemble contenants "itemset".
- afficher l'ensemble maximal d'elements apparaissant a chaque fois que "itemset" apparait dans un element de base.
et merci

10 réponses

cptpingu Messages postés 3840 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 23 août 2024 126
30 déc. 2010 à 14:29
Ça sent le devoir étudiant ça...

Commence par nous monter du code. Je rappelle que l'on aide à corriger des codes concrets, mais que l'on ne fait pas les devoirs des étudiants.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
BunoCS Messages postés 15486 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 septembre 2024 103
30 déc. 2010 à 14:40
ça ressemble fort à un exercice...
Nous ne sommes pas là pour faire le travail des autres mais pour aider à débloquer la situation.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
0
BunoCS Messages postés 15486 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 septembre 2024 103
30 déc. 2010 à 14:41
euh...ok...une longueur d'avance CptPingu

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
0
scofild52 Messages postés 5 Date d'inscription jeudi 28 octobre 2010 Statut Membre Dernière intervention 31 décembre 2010
30 déc. 2010 à 18:38
dzl a tous c'est vrai que c'est un exercicie mais je veut un code complet mais just je veut des idee sur le tableau de bit. comment en declare,comment en acces ... des conseil pour pour que je puisse demarrer.
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cptpingu Messages postés 3840 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 23 août 2024 126
30 déc. 2010 à 18:52
Ok, dans ce cas:

Tu peux manipuler des bits avec les opérateurs logiques (!, &, |, ~, ^, <<, >>).

Si j'ai bien compris, tu veux remplacer:
{1,6,9}
par une seule variable contenant:
0001 0110 1001

Pour manipuler ceci, pa exemple récupérer le deuxième élément, tu peux faire:
(Soit X = 0001 0110 1001)
X & 0000 1111 0000 => 0110

Je te laisse te documenter sur ce genre de pratique.
Si tu lis l'anglais il y a un lien super intéressant sur la manipulation de bit:
http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know#

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
scofild52 Messages postés 5 Date d'inscription jeudi 28 octobre 2010 Statut Membre Dernière intervention 31 décembre 2010
30 déc. 2010 à 21:36
merci,
mais c'est pas ça le problem.
comment declarer un tableau de bit.
comment acceder a un element de ce tableau.
0
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
30 déc. 2010 à 22:49
Salut,

Tout est tableau de bits !
Un char est un tableau de huit bits. Tu en veux trente-deux ? quatre char font l'affaire:

char t[4];

Souvent, un int tient sur 32 bits. On peut alors déclarer ainsi un "tableau de 32 bits"

int t;

Ensuite, on t’a tout dit plus haut.

Récupérer le bit de poids faible (appelons-le le bit zéro):

t & 1;

le bit suivant (un) :

t & 2;

le suivant (deux) :

t & 4;

plus généralement (le bit n) :

t & (1 << n);

Pour mieux comprendre ce qui se passe, observe comment s'écrit en binaire le nombre 1 << n (deux à la puissance n).

Bonne prog,
0
keli1 Messages postés 18 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 17 février 2011
18 janv. 2011 à 11:56
slt SVP pouvez vous m'aider a saisir une série de 100 ensembles d'identifiants au plus appelée base en language C?
0
keli1 Messages postés 18 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 17 février 2011
18 janv. 2011 à 12:51
SVP quelqu'un me repond :(
0
BunoCS Messages postés 15486 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 13 septembre 2024 103
18 janv. 2011 à 16:15
euh...bah...pas compris la question...
Tu veux créer une base de données?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
0
Rejoignez-nous