CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide programme C/C++

Aygo-69
Aygo-69
Niveau 22
12 novembre 2017 à 17:27:28

Salut, je m'entraine a faire des exercice et il y'a un programme ou j'ai énormément de mal.
Je dois faire ceci :

1- Définir une constante MAX_CH ayant pour valeur 64
2- Ecrivez en langage C/C++ une fonction booléenne qui retourne VRAI si une chaine
de caractères passée en paramètres est écrite exclusivement avec des caractères
numériques FAUX sinon.
3- Ecrivez en langage C/C++ un sous-programme permettant de remplir un tableau dont
chacune des 10 cases contiendra le nombre d’occurrences d’un caractère particulier
dans la chaîne ‘0’ à ‘9’.
Exemple : "01230012340067080" devra produire le tableau suivant : 7 2 2 2 1 0 1 1 1 0

Nombre de 0 : 7
Nombre de 1 : 2
Nombre de 2 : 2
Nombre de 3 : 2
Nombre de 4 : 1
Nombre de 5 : 0
Nombre de 6 : 1
Nombre de 7 : 1
Nombre de 8 : 1
Nombre de 9 : 0

4- Ecrivez en langage C/C++ un sous-programme permettant d’initialiser le tableau avec des 0
5- Ecrivez en langage C/C++ un sous-programme permettant d’afficher le contenu du tableau.
6- Ecrivez en langage C/C++ le programme principal permettant de :
a. Saisir une chaine de caractères valide ; on vérifiera qu’elle est donnée dans le bon format en utilisant la fonction du 2 et on recommencera la saisie le cas
échéant.
b. Initialiser le tableau résultat
c. Remplir le tableau avec le nombre d’occurrences de chaque caractère
d. Afficher le tableau résultat.

Alors déjà juste pour le 2 je bloque je ne sais pas comment faire pour dire qu'une chaine est écrite seulement avec des caractère numérique. Déjà juste ça je n'y arrive pas [[sticker:p/1lmc]]

aAardvark
aAardvark
Niveau 75
12 novembre 2017 à 17:55:38

Tu vois comment écrire le prototype de la fonction au moins ? (type d'argument(s) et type de retour)

Enfin pas de miracle, en C un tableau (chaîne de caractère) se parcourt en utilisant une boucle et en le traitant caractères par caractères, à défaut de pouvoir trouver une fonction qui te mâche le travail. En C++ par contre je sais pas, le but est probablement d'utiliser de l'objet et de ne pas faire la même chose qu'en C donc

ACanOfPickIes
ACanOfPickIes
Niveau 10
12 novembre 2017 à 18:03:12

Tu peux représenter une chaine de caractère de différentes manières déjà donc le prototype de ta fonction va ressembler à ça :


bool isNumber(std::string & str); // à la c++
bool isNumber(char * str, int strSize); // simple tableau de char
bool isNumber(char * str); // tableau de char terminé par NULL

Si t'es en c++ ça me parait plus logique de choisir la première option

Ensuite dans ta fonction tu regarde chaque caractère de la chaine, et si un caractère n'est pas un chiffre ça voudra dire que ta chaine ne contient pas que des chiffres (et dans ce cas tu peux retourner false). Si tu ne trouves aucun caractère qui ne soit pas un chiffre ça veut dire que ta chaine ne contient que des chiffres, et dans ce cas tu peux retourner true.

Pour parcourir un std::string il y a deux façons de faire, mais dans les deux cas il faut utiliser une boucle.

Donc essaie de faire une boucle qui parcourt ta chaine déjà et ensuite tu devrais réussir a finir

Aygo-69
Aygo-69
Niveau 22
12 novembre 2017 à 18:17:43

D'accord merci je vais essayé ça pour voir

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment