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

  FORUM HardWare.fr
  Programmation
  C

  Comment mettre les chiffres d'un nombre dans un tableau ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment mettre les chiffres d'un nombre dans un tableau ?

n°890481
Chronoklaz​m
Posté le 04-11-2004 à 18:50:58  profilanswer
 

Bonjour, je suis débutant en C et j'aimerais savoir comment mettre
les chiffres d'un nombre dans un tableau.
Par exemple :
 
Soit un nombre 123456 (un nombre non float) et donc on obtient un  
tableau :
 
indices  : 0 1 2 3 4 5  
elements : 1 2 3 4 5 6
 
A part la methode qui consisterait a convertir ce int en une string
et indexer chacuns des caracteres dans le tableau en tant que int, y a
t'il un autre moyen plus rapide (et moins prise de tete) ?


Message édité par Chronoklazm le 04-11-2004 à 18:53:59
mood
Publicité
Posté le 04-11-2004 à 18:50:58  profilanswer
 

n°890490
cricri_
Posté le 04-11-2004 à 19:01:46  profilanswer
 

ben c'est la meilleure méthode IMHO, sinon il faut extrait chaque chiffre par modulo je pense.
Mais c'est plus facile en convertissant en string, tu auras directement accès au caractère par index.

n°890491
Flaie
No it's necessary
Posté le 04-11-2004 à 19:02:14  profilanswer
 

tu fait  ton nombre mod 10 tu met le resultat dans le tableau,  
tu divise le nombre par 10 et tu recommence l'operation  
ensuite tu fait un reverse sur le tableau et voila t'as ton tableau comme tu voulais :D :ange:

n°890503
Chronoklaz​m
Posté le 04-11-2004 à 19:07:49  profilanswer
 

Merci :)
 
PS: Ca veut dire quoi IMHO ? :)


Message édité par Chronoklazm le 04-11-2004 à 19:12:10
n°890512
cricri_
Posté le 04-11-2004 à 19:14:56  profilanswer
 

In My Humble Opinion ;)

n°890513
couak
Posté le 04-11-2004 à 19:15:23  profilanswer
 

in my humble opinion

n°890517
Taz
bisounours-codeur
Posté le 04-11-2004 à 19:16:04  profilanswer
 

EMHA :o

n°890527
cricri_
Posté le 04-11-2004 à 19:26:58  profilanswer
 

En français c'est AMHA ...  :whistle:

n°890949
Sve@r
Posté le 05-11-2004 à 02:59:50  profilanswer
 

Chronoklazm a écrit :

Bonjour, je suis débutant en C et j'aimerais savoir comment mettre
les chiffres d'un nombre dans un tableau.
Par exemple :
 
Soit un nombre 123456 (un nombre non float) et donc on obtient un  
tableau :
 
indices  : 0 1 2 3 4 5  
elements : 1 2 3 4 5 6
 
A part la methode qui consisterait a convertir ce int en une string
et indexer chacuns des caracteres dans le tableau en tant que int, y a
t'il un autre moyen plus rapide (et moins prise de tete) ?


 

Code :
  1. main()
  2. {
  3.   char tab[7];
  4.   sprintf(tab, "%d", 123456);
  5. }


Je ne vois pas trop où est la prise de tête......


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°890951
matafan
Posté le 05-11-2004 à 03:42:34  profilanswer
 

Ben oui bien sûr Sve@r, tout le monde sait que '1' == 1  :heink:

mood
Publicité
Posté le 05-11-2004 à 03:42:34  profilanswer
 

n°891617
Chronoklaz​m
Posté le 06-11-2004 à 00:51:17  profilanswer
 

matafan a écrit :

Ben oui bien sûr Sve@r, tout le monde sait que '1' == 1  :heink:


 
C'est sur, on peut pas le deviner. Et l'existence de spintf non plus. :ange:  
 
Sve@or merci à toi :)
 
 


Message édité par Chronoklazm le 06-11-2004 à 00:51:47
n°891621
Chronoklaz​m
Posté le 06-11-2004 à 00:56:20  profilanswer
 

Euh j'ai comme une gouille sous Ms-Visual C++ 6.O :  
 

Code :
  1. #include <stdio.h>
  2.     int main()
  3.    {
  4.    
  5.  char tab[7];
  6.  sprintf(tab, "%d", 123456);
  7.  return 0;
  8.    }


 
Ca compile pas :( :
 
--------------------Configuration: test - Win32 Debug--------------------
Compiling...
test.c
C:\...\test.c(109) : error C2143: syntax error : missing ';' before 'type'
C:\...\test.c(111) : error C2065: 'tab' : undeclared identifier
C:\...\test.c(111) : warning C4047: 'function' : 'char *' differs in levels of indirection from 'int '
C:\...\test.c(111) : warning C4024: 'sprintf' : different types for formal and actual parameter 1
Error executing test.exe.
 
test.exe - 2 error(s), 2 warning(s)[cpp]


Message édité par Chronoklazm le 06-11-2004 à 01:00:07
n°891622
Lam's
Profil: bas.
Posté le 06-11-2004 à 00:58:22  profilanswer
 

Non non, ça compile pas.  
Peut-être que si tu donnais la ligne 109 à 111...

n°891626
Chronoklaz​m
Posté le 06-11-2004 à 01:02:46  profilanswer
 

Mais il n'y a rien a la ligne 109 à 111, je suis pas fou quand meme, je sais qu'il est tard mais je sais faire un copier-coller encore, dieu merci :)

n°891628
Lam's
Profil: bas.
Posté le 06-11-2004 à 01:05:57  profilanswer
 

J'ai passé de longues nuits d'enlacement torride avec Visual C++, et quand il dit qu'il y a une couille ligne 109, c'est que souvent, la ligne 109 a une couille...
 
Ceci-dit, c'est quoi le type de projet VC++ que tu utilises ?

n°891629
Chronoklaz​m
Posté le 06-11-2004 à 01:09:39  profilanswer
 

Celui qu'il propose par defaut quand on ouvre un fichier .c et on fait "Build" puis "compile" ...


Message édité par Chronoklazm le 06-11-2004 à 01:26:06
n°891630
Chronoklaz​m
Posté le 06-11-2004 à 01:12:16  profilanswer
 

Ah là j'ai plus la gouille, il compile et link sans messages d'erreurs mais quand j'execute le fichier il n'y a rien dans la petite fenetre ms-dos a part "Pressez un touche pour continuer" :(

n°891631
Chronoklaz​m
Posté le 06-11-2004 à 01:14:29  profilanswer
 

Bon je vais migrer vers Cygwin si ca continue !
 
Tu utiliserais quoi comme projet pour faire des trucs comme ca ?
 
Peut-etre j'étais meme pas dans un projet mais juste dans l'edition d'un fichier.


Message édité par Chronoklazm le 06-11-2004 à 01:19:29
n°891646
Chronoklaz​m
Posté le 06-11-2004 à 01:34:50  profilanswer
 

Bon en fait c'est réglé ! Désolé ... :)
 
Il faut juste que j'ouvre un .cpp et non un projet.

n°891827
Chronoklaz​m
Posté le 06-11-2004 à 14:08:09  profilanswer
 

matafan a écrit :

Ben oui bien sûr Sve@r, tout le monde sait que '1' == 1  :heink:


 
Mais le caractere 1 n'est pas égal à 1  :heink:  
 
Dans la table ASCII il la valeur decimale 49.
 
Et comment convertir un tableau de char en un tableau de int ? A part faire 10 "if" dans ma boucle.
 

Code :
  1. char tab[7];
  2. int dab[7];
  3. for(int o=0;o<7;o++){
  4.  dab[o]=(int)tab[o];
  5. }


 
Il rend un tableau de int avec les valeures "decimales" des caracteres 1234...
C'est pas ce que je veux.


Message édité par Chronoklazm le 06-11-2004 à 14:21:30
n°891866
Lam's
Profil: bas.
Posté le 06-11-2004 à 15:18:57  profilanswer
 

dab[o]=tab[o]-'0';

n°891893
Chronoklaz​m
Posté le 06-11-2004 à 15:51:24  profilanswer
 

Merci

n°892003
matafan
Posté le 06-11-2004 à 18:54:23  profilanswer
 

Citation :

Mais le caractere 1 n'est pas égal à 1  :heink:


Ma remarque était bien sûr à prendre au second degré.

mood
Publicité
Posté le   profilanswer
 


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

  Comment mettre les chiffres d'un nombre dans un tableau ?

 

Sujets relatifs
Forcer l'affichage d'un nombre x.xxComment mettre une image dans un controle picture ??
[XHTML&CSS] Tableau trop grand en largeur pour l'ecran MAIS...Tableau dont la taille est paramétrable
Problème de validation XHTML 1.1 avec un tableau[PHP] Récupérer le dernier tableau d'un fichier HTML
[ VBA ] question con : remplir une lioste avec un tableauProbleme fonction et tableau d'objet
[dreamweaver] scrollebarre dans cellule tableauSVP comment mettre une ScrollBar en %?????
Plus de sujets relatifs à : Comment mettre les chiffres d'un nombre dans un tableau ?


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