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

  FORUM HardWare.fr
  Programmation
  C

  [C] tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] tableau

n°1383837
amele
Posté le 08-06-2006 à 15:30:41  profilanswer
 

Bonjour,
 
Un gros problème de C. En fait je passe des programmes Matlab en C, et j'ai de gros problèmes avec les tableaux, notamment quand je passe des valeurs dans un tableau et que je ne sais pas par avance quelle taille fera le tableau, comment faire ?
 
Je veux faire une boucle for qui s'arrête à la fin du tableau dont je ne connais pas la fin ... impasse ?! quelle est la solution ??
 
 :cry:


---------------
amelie
mood
Publicité
Posté le 08-06-2006 à 15:30:41  profilanswer
 

n°1383841
_darkalt3_
Proctopathe
Posté le 08-06-2006 à 15:33:39  profilanswer
 

En C, la taille d'un tableau est connu à la compilation.
 
Donc quelque part, tu dois pouvoir obtenir la taille de ce tableau et faire une boucle FOR qui va parcourir le tableau par son index.


---------------
Töp of the plöp
n°1383847
Emmanuel D​elahaye
C is a sharp tool
Posté le 08-06-2006 à 15:38:10  profilanswer
 

amele a écrit :

Un gros problème de C. En fait je passe des programmes Matlab en C, et j'ai de gros problèmes avec les tableaux, notamment quand je passe des valeurs dans un tableau et que je ne sais pas par avance quelle taille fera le tableau, comment faire ?


  • Soit tu ajoutes un paramètre avec la taille du tableau
  • Soit tu mets un 'marqueur' dans les données pour déterminer la fin du tableau.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1383864
amele
Posté le 08-06-2006 à 16:05:07  profilanswer
 

ha oui, bonne idée le marqueur.


---------------
amelie
n°1383885
Emmanuel D​elahaye
C is a sharp tool
Posté le 08-06-2006 à 16:20:16  profilanswer
 

amele a écrit :

ha oui, bonne idée le marqueur.


Attention, il y a des contraites :  

  • La valeur ne doit pas être utilisée
  • Il faut une place supplémentaire

Mais si tu connais les chaines en C, tu connais ces contraintes...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1383910
amele
Posté le 08-06-2006 à 16:38:48  profilanswer
 

j'ai une autre question :
 
Comme on ne peut pas renvoyer de tableau par une fonction, alors j'ai créé la fonction :
 

Code :
  1. void codage(float *entree, float *sortie, int N);


 
Avant la fonction j'ai fait les initialisations suivantes :
 

Code :
  1. int N=4;
  2. float entree[N]={1,2,3,4};
  3. float *sortie;


 
puis j'appelle ma fonction :

Code :
  1. codage(entree,sortie,N);


 
Seulement voilà dans sortie il n'y que des zéros !
 
Donc j'ai vérifié en mettant un printf à la fin de ma fonction :
 

Code :
  1. void codage(float *entree, float *sortie, int N){
  2. \....\
  3. for(i=0;i<M;i++)
  4. printf("%f", sortie[i]);}


 
et là il n'y a pas de problème ?!
 
 
 
 


---------------
amelie
n°1383917
_darkalt3_
Proctopathe
Posté le 08-06-2006 à 16:45:12  profilanswer
 

Sortie est un pointeur, et tu ne l'as pas initialisé...
 
Cherche donc un cours sur le C.


---------------
Töp of the plöp
n°1383954
skelter
Posté le 08-06-2006 à 17:20:14  profilanswer
 

tu peux faire comme ca par exemple

Code :
  1. void codage(const float *entree, const size_t taille_entree, float *sortie, const size_t taille_sortie)
  2. {
  3. }
  4. ...
  5. const float entree[]={1,2,3,4};
  6. float *sortie = malloc(taille_sortie * sizeof*sortie); /* si taille_sortie inconnue a la compilation */
  7. if( ! sortie ) { /* erreur */}
  8. ...
  9. codage(entree, sizeof entree / sizeof *entree, sortie, taille_sortie);


 
mais si tu viens de matlab je te conseil d'uiliser la bibliotheque gsl (gnu scientific library), ca sera nettement plus simple


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

  [C] tableau

 

Sujets relatifs
tableaucomment retourner le nombre d'éléments d'un tableau ?
Tronquer les données d'un tableauun code pour calculer le minimum des donnés d'un tableau
Fichier .txt => Tableau Array() ?Parcours d'un tableau de char
[PHP] Lire les données d'un tableauremplissage d'un tableau avec une boucle while
JS/PHP comment récupérer la valeur d'une case de tableau?Taille des lignes de tableau
Plus de sujets relatifs à : [C] tableau


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