probleme avec tableau - C - Programmation
Marsh Posté le 25-12-2010 à 21:29:27
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 :
|
Marsh Posté le 25-12-2010 à 23:09:45
merci pour la réponse mais en éxecutant ça n'affiche pas le code binaire voulu,il n'affiche que fin du programme
Marsh Posté le 27-12-2010 à 17:47:59
#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);
}
}
}
Marsh Posté le 27-12-2010 à 20:00:05
Oula, t'as une fonction déclarée dans une autre que tu n'appelles même pas.
Essaye plutôt comme ça :
Code :
|
Marsh Posté le 29-12-2010 à 16:32:10
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??
Marsh Posté le 29-12-2010 à 16:51:43
marooh a écrit : re, |
Ben si tu sais lire les entrées de l'utilisateur il te suffit de faire un truc du style (en pseudo code) :
Code :
|
Marsh Posté le 29-12-2010 à 17:19:31
re,
j'ai écrit ceci mais ça accepte juste l'ensemble
Code :
|
Marsh Posté le 29-12-2010 à 17:59:00
marooh a écrit : re, |
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())".
Marsh Posté le 29-12-2010 à 18:23:34
oui,j'ai bien compris,dans mon code j'ai mis while(scanf()) mais ça ne marche pas
Marsh Posté le 01-01-2011 à 23:02:29
merci de poster la solution pour les suivants
Marsh Posté le 06-01-2011 à 09:53:11
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" );
}
Marsh Posté le 07-01-2011 à 12:24:50
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.
Marsh Posté le 08-01-2011 à 15:18:15
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
Marsh Posté le 25-12-2010 à 17:10:18
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