Programme en c qui permet le calcul d'entropie
Résolu/Fermé
chuupa8
Messages postés
6
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
28 avril 2016
-
27 avril 2016 à 19:33
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 2 mai 2016 à 13:06
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 2 mai 2016 à 13:06
A voir également:
- Programme en c qui permet le calcul d'entropie
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
2 réponses
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
27 avril 2016 à 21:01
27 avril 2016 à 21:01
Nous ne feront pas votre exercice à votre place.
Merci de décrire précisément votre problème et en postant le code déjà réalisé.
Cliquez ici pour des conseils d'écriture des messages et ici concernant les devoirs scolaires ou PFE.
Pour poster votre code, merci de penser à la coloration syntaxique.
Merci de décrire précisément votre problème et en postant le code déjà réalisé.
Cliquez ici pour des conseils d'écriture des messages et ici concernant les devoirs scolaires ou PFE.
Pour poster votre code, merci de penser à la coloration syntaxique.
Dalfab
Messages postés
703
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 mars 2023
100
28 avril 2016 à 05:13
28 avril 2016 à 05:13
Bonjour,
Il suffit de comptabiliser chaque lettre dans la boucle par :
Il suffit de comptabiliser chaque lettre dans la boucle par :
if ( *str >= 'a' && *str <= 'z' )
nb_letters[*str - 'a']++;
else if ( *str >= 'A' && *str <= 'Z' )
nb_letters[*str - 'A']++;
chuupa8
Messages postés
6
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
28 avril 2016
28 avril 2016 à 12:30
28 avril 2016 à 12:30
Dalfab regarde ca ne marche toujour pas quand je ais l'execution tous les caracteres sont a zero
#include <stdio.h>
#include <stdlib.h>
void count(const char* str, int nb_letters[26])
{
while (*str != '\0')
{
// remplir nb_letters correctement ici.
++str;
}
}
void print(int nb_letters[26])
{
char c = 0;
for (c ='a';c <='z'; c++)
printf("%c => %d\n", c, nb_letters[c - 'a']);
// c - 'a'permet de convertir un code ascii en numéro. Exemple: 'a' - 'a' => 0, 'b' - 'a' => 1, etc...
}
int main()
{ int c;
char ch[50] = {0};
int nb_letters[26] = {0};
printf("donnez une chaine ch\n");
scanf("%s",ch);
if (c >= 'a' && c <= 'z' )
nb_letters[c - 'a']++;
else if ( c >= 'A' && c <= 'Z' )
nb_letters[c - 'A']++;
count(ch, nb_letters);
print(nb_letters);
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
void count(const char* str, int nb_letters[26])
{
while (*str != '\0')
{
// remplir nb_letters correctement ici.
++str;
}
}
void print(int nb_letters[26])
{
char c = 0;
for (c ='a';c <='z'; c++)
printf("%c => %d\n", c, nb_letters[c - 'a']);
// c - 'a'permet de convertir un code ascii en numéro. Exemple: 'a' - 'a' => 0, 'b' - 'a' => 1, etc...
}
int main()
{ int c;
char ch[50] = {0};
int nb_letters[26] = {0};
printf("donnez une chaine ch\n");
scanf("%s",ch);
if (c >= 'a' && c <= 'z' )
nb_letters[c - 'a']++;
else if ( c >= 'A' && c <= 'Z' )
nb_letters[c - 'A']++;
count(ch, nb_letters);
print(nb_letters);
system("PAUSE");
return 0;
}
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
28 avril 2016 à 13:45
28 avril 2016 à 13:45
@chuupa8 : tu es sûr que c'est toi qui as écrit la fonction
count()et le commentaire qu'elle contient ?
Pierre1310
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
639
28 avril 2016 à 13:49
28 avril 2016 à 13:49
int main()
{ int c;
char ch[50] = {0};
int nb_letters[26] = {0};
printf("donnez une chaine ch\n");
scanf("%s",ch);
if (c >= 'a' && c <= 'z' )
nb_letters[c - 'a']++;
else if ( c >= 'A' && c <= 'Z' )
nb_letters[c - 'A']++;
count(ch, nb_letters);
print(nb_letters);
system("PAUSE");
return 0;
}
Tu ne remplis jamais c, comment tu veux que ta condition fonctionne?
chuupa8
Messages postés
6
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
28 avril 2016
>
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
28 avril 2016 à 14:18
28 avril 2016 à 14:18
le commentaire cest moi ki l'ai ecri parck un ami m'a di cest quoi le role de count() et je l'ai ecri pour mieu vous expliqué ce que jai fai
chuupa8
Messages postés
6
Date d'inscription
mercredi 27 avril 2016
Statut
Membre
Dernière intervention
28 avril 2016
>
Pierre1310
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
28 avril 2016 à 14:21
28 avril 2016 à 14:21
sisii pierre j'ai rempli le c.. ofet je suis nouvelle dans ces affaire de programmation du coup je ne maitrise pas bien le language
27 avril 2016 à 22:50
#include <stdio.h>
#include <stdlib.h>
void count(const char* str, int nb_letters[26])
{
while (*str != '\0')
{
++str;
}
}
void print(int nb_letters[26])
{
char c = 0;
for (c ='a';c<='z';c++)
printf("%c => %i\n", c, nb_letters[c - 'a']);
}
int main()
{
char ch[50] = {0};
int nb_letters[26] = {0};
printf("donnez une chaine ch\n");
scanf("%s",ch);
count(ch, nb_letters);
print(nb_letters);
system("PAUSE");
return 0;
}