Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1035 connectés 

  FORUM HardWare.fr
  Programmation
  C

  probleme avec tableau

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec tableau

n°2044356
marooh
Posté le 25-12-2010 à 17:10:18  profilanswer
 

bonjour,
je voudrais saisir un ensemble d'identifiant par exemple {1,5,8,10} et ensuite générer la representation en tableau de bits c'est à dire,
dans un tableau de 11 bits par exemple le bit num 1 aura la valeur 1,le bit 5,8 et 10 aussi
on aura 01000100101

mood
Publicité
Posté le 25-12-2010 à 17:10:18  profilanswer
 

n°2044357
regexp42
Eplucheur de RFC.
Posté le 25-12-2010 à 17:18:05  profilanswer
 

Ca s'appelle un int.

n°2044361
marooh
Posté le 25-12-2010 à 18:15:43  profilanswer
 

re,
c'est flou commen reponse

n°2044383
regexp42
Eplucheur de RFC.
Posté le 25-12-2010 à 21:29:27  profilanswer
 

Tu veux un "tableau de bits", ça s'appelle un int.
Pour mettre les bits 1, 5, 8 et 10 à 1 il te suffit de faire :
 

Code :
  1. unsigned int i = 0 | (1 << 1) | (1 << 5) | (1 << 8) | (1 << 10);


n°2044392
marooh
Posté le 25-12-2010 à 23:09:45  profilanswer
 

merci pour la réponse mais en éxecutant ça n'affiche pas le code binaire voulu,il n'affiche que fin du programme

n°2044395
regexp42
Eplucheur de RFC.
Posté le 25-12-2010 à 23:25:52  profilanswer
 

Fais voir ton code.

n°2044622
marooh
Posté le 27-12-2010 à 17:47:59  profilanswer
 

#include <stdint.h>
#include <stdio.h>
 
int main(){
 
unsigned int i = 0 | (1 << 1) | (1 << 5) | (1 << 8) | (1 << 10);
void
print_uint32(uint32_t bits)
{
        uint32_t mask;
        for (mask = 1<<31; mask; mask >>= 1) {
                fputc(bits & mask ? '1' : '0', stdout);
        }
}
}

n°2044679
regexp42
Eplucheur de RFC.
Posté le 27-12-2010 à 20:00:05  profilanswer
 

Oula, t'as une fonction déclarée dans une autre que tu n'appelles même pas.
 
Essaye plutôt comme ça :
 

Code :
  1. #include <stdint.h>
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5.     unsigned int i = 0 | (1 << 1) | (1 << 5) | (1 << 8) | (1 << 10);
  6.     uint32_t mask;
  7.     for (mask = 1 << 31; mask; mask >>= 1) {
  8.         fputc(i & mask ? '1' : '0', stdout);
  9.     }
  10.     return 0;
  11. }


Message édité par regexp42 le 27-12-2010 à 20:00:20
n°2044698
marooh
Posté le 27-12-2010 à 22:06:48  profilanswer
 

merciiiiii infiniment!!

n°2044999
marooh
Posté le 29-12-2010 à 16:32:10  profilanswer
 

re,
merci infiniment pour la reponse mais maintenant j'ai une autre question à vous poser:
si je veux que les bits qui prennent 1 soit choisis par l'utilisateur comment pourrai-je modifier unsigned int pour satisfaire cette condition?dois-je poser une variable x qui prendra chaque valeur entrée par l'utilisateur??

mood
Publicité
Posté le 29-12-2010 à 16:32:10  profilanswer
 

n°2045002
regexp42
Eplucheur de RFC.
Posté le 29-12-2010 à 16:51:43  profilanswer
 

marooh a écrit :

re,
merci infiniment pour la reponse mais maintenant j'ai une autre question à vous poser:
si je veux que les bits qui prennent 1 soit choisis par l'utilisateur comment pourrai-je modifier unsigned int pour satisfaire cette condition?dois-je poser une variable x qui prendra chaque valeur entrée par l'utilisateur??


 
Ben si tu sais lire les entrées de l'utilisateur il te suffit de faire un truc du style (en pseudo code) :
 

Code :
  1. unsigned int i = 0;
  2. uinsigned int n;
  3. while ([l'user choisit un bit]) {
  4.    n = [bit choisi par l'utilisateur];
  5.    i |= (1 << n);
  6. }

n°2045006
marooh
Posté le 29-12-2010 à 17:19:31  profilanswer
 

re,
j'ai écrit ceci mais ça accepte juste l'ensemble
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. int main()
  5. {int a;
  6. unsigned int i = 0;
  7. unsigned int n;
  8. printf("veuillez entrer l'ensemble d'identifiant a chercher\n\n" );
  9. while (scanf("1.2%d",&a))
  10. {
  11.    n = a;
  12.    i |= (1 << n);
  13. }
  14. system("pause" );
  15. }

Message cité 1 fois
Message édité par marooh le 29-12-2010 à 17:19:51
n°2045007
regexp42
Eplucheur de RFC.
Posté le 29-12-2010 à 17:59:00  profilanswer
 

marooh a écrit :

re,
j'ai écrit ceci mais ça accepte juste l'ensemble


 
Comment ça "juste l'ensemble" ?
 
Quand je dis "while l'user choisit un bit" c'est du pseudo code hein, ça veut dire genre "tant que le gars veut setter un bit", ça veut pas dire "while (scanf())".

n°2045011
marooh
Posté le 29-12-2010 à 18:23:34  profilanswer
 

oui,j'ai bien compris,dans mon code j'ai mis while(scanf()) mais ça ne marche pas

n°2045172
regexp42
Eplucheur de RFC.
Posté le 30-12-2010 à 16:02:04  profilanswer
 

marooh a écrit :

ça ne marche pas


 
Sois plus précis.

n°2045368
marooh
Posté le 31-12-2010 à 13:45:46  profilanswer
 

c bon j'ai trouvé merciii

n°2045535
esox_ch
Posté le 01-01-2011 à 23:02:29  profilanswer
 

merci de poster la solution pour les suivants


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2046712
mirou989
Posté le 06-01-2011 à 09:53:11  profilanswer
 

bjr,
j 'ai ecrit un code mais ca ne marche pas kom il fo ,je c pa c koi le probleme exactement.
je veux afficher un tableau de bits sachant ke l'operateur  va saisir un ensemble d'identifiants:voila mon code :??:  
 
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main()
{int a;
unsigned int i = 0;
unsigned int n;
unsigned int bit;
 
uint32_t mask ;  
printf("veuillez entrer l'ensemble d'identifiant a chercher\n\n" );
while (scanf("1.2%d",&a))
{
n = a;
i|= (1 << n);
}  
 
for (mask = 1<<31; mask; mask >>= 1) {  
fputc(bit & mask ? '1' : '0', stdout);  
 
}
 
system("pause" );
}

n°2047037
mirou989
Posté le 06-01-2011 à 22:13:14  profilanswer
 

j'attends encore :??:

n°2047202
h3bus
Troll Inside
Posté le 07-01-2011 à 12:24:50  profilanswer
 

Quelques remarques:
- Évite le langage SMS, c'est illisible
- Mets des balises [code] autour de ton code, c'est illisible aussi
- Tu dis que ça ne marche pas: qu'est-ce qui ne marche pas? (en d'autres termes quel est le résultat attendu et le résultat observé)
- Au lieu d'attendre, fais des essais, tu trouveras surement par toi même
 
On ne peut pas trop t'aider en l'état.


---------------
sheep++
n°2047556
Ramssis
Posté le 08-01-2011 à 15:18:15  profilanswer
 

je veux saisir une suite d'ensemble d'identifiants pa exemple {1,5,10} {2,3,6}et {4,3,2,5} quelqu'un m'aide svp


Message édité par Ramssis le 08-01-2011 à 19:11:43
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  probleme avec tableau

 

Sujets relatifs
problème avec un tableau de structure !!![PERL] Probleme de splice avec un tableau a 2 dimensions
Problème pour récupérer un tableauproblème réalisation tableau périodique tkinter
Probleme avec un tableau structuré[RESOLU] Problème tableau php -> javascript
Probleme tableau multidimensionnel[php] Problème affichage tableau avec timer
probleme d'assignation de valeur avec un tableau dans une classe[java] probleme de transfert de tableau de byte
Plus de sujets relatifs à : probleme avec tableau


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR