Comment faire pour créer un petit programme en langage C, qui permet de générer un fichier "bit_ins.txt" qui contient des bit aléatoires de 1 & 0. la longueur du fichier (ou le nombre de bits) est choisi par l'utilisateur.
Merci,
Comment faire pour créer un petit programme en langage C, qui permet de générer un fichier "bit_ins.txt" qui contient des bit aléatoires de 1 & 0. la longueur du fichier (ou le nombre de bits) est choisi par l'utilisateur.
Merci,
Euh… pardon mais, ça, c'est franchement trivial.
De toute évidence, il s'agit d'un exercice scolaire pour débutant et, par conséquent, nous ne le ferons pas à ta place. Montre-nous ici ce que tu as déjà écrit (avec les balises [code] et [/code]) et dis-nous où tu bloques en particulier. On tâchera alors de t'aider, mais pas avant.
voila , mon travail
int l, a = 0, b = 1;
FILE *fich = NULL;
fich = fopen("bis_ins.txt", "a");
for (l = 0; l < 10; l++) {
fprintf (fich, "%i", "%i", a | b);
}
l++;
Utilise les balises [code] et [/code], s'il-te-plaît, comme demandé dans mon précédent message (le bouton « # » dans la boîte d'édition).
Ok, pour le reste, ce n'est pas mal : tu sais déjà gérer un fichier. « | » est un OU logique. « 0 | 1 » te donnera systématiquement 1.
Pour obtenir des nombres aléatoires, qui seront en fait pseudo-aléatoires, il n'y a pas de secret : il faut les générer. Il y a plusieurs algorithmes qui font cela plus ou moins bien mais dans ton cas, il y a une fonction standard en C pour cela : rand() (pense à inclure « #include <stdlib.h> » en début de fichier).
Cette fonction te renverra un nombre entier compris entre 0 et RAND_MAX. Tu peux donc utiliser un modulo : « rand() % 2 ». On passe volontairement, à ce stade, sur le biais induit.
dsl,
je ne comprend pas comment utilise rand ds mon code, je fais
et retourné:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FILE *fich = NULL; fich = fopen("bis_ins.txt", "a"); for (l = 0; l < 1; l++) { fprintf (fich, "%d\n", rand()); }
mais moi je besoin de 1 & 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 41 18467 6334 26500 19169 15724 11478 29358 26962 24464 5705 28145 23281 16827 9961
svp aidez-moi
La réponse est, encore une fois, dans mon message précédent.
Relis bien.
OK sa marche
et affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FILE *fich = NULL; fich = fopen("bis_ins.txt", "a"); for (l = 0; l < 1; l++) { fprintf (fich, "%d", rand() % 2); }
Mais mon problème , comment faire pour changer la longueur du fichier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1100100000111111101010010010011010101110110110111010011111100100
N'oublie pas le boutonen bas de page !
comment faire pour faire une espace lors d'affichage de contenu du fichier
le resultat devient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FILE *fich = NULL; fich = fopen("bis_ins.txt", "a"); for (l = 0; l < 1; l++) { fprintf (fich, "%d", rand() % 2); }
mais mon besoin est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1100100000111111101010010010011010101110110110111010011111100100
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1 1 0 0 1
un espace dans ton fprintf... mais ce sont les bases...
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part "%d "
Code : Sélectionner tout - Visualiser dans une fenêtre à part "%d"
Toutes ces questions, c'est vraiment les bases du C. Ce n'est pas la vocation du forum, de remplacer les cours. Lis les bases du langage : http://c.developpez.com/cours/?page=lang-c
Partager