|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 17 ![]() |
Bonjour,
Je suis entrain d'écrire un programme qui permet de définir une structure. Cette structure sera par la suite utilisé pour lire un fichier de donnée ( 4 colonne et 1000 lignes). Par la suite je veux allouer ces données en mémoire pour y travailler par la suite. le programme est le suivant: Code :
Le code m'affiche un faux résultat. Quelqu’un peux m'aider à corriger ce programme? Merci d'avance. |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() |
Bonjour,
Tout d'abord, il m'étonne que tu parviennes à compiler correctement le programme (où alors, à quel prix), car tu as un argument supplémentaire à l'appel de la fonction calloc. De plus, le premier paramètre est incorrect. Il doit s'agir d'une taille (typée size_t), et tu envoies un pointeur sur structure. Cette allocation a donc déjà tout de fausse. Avec ces modifications, le code source compile, et le programme s'exécute correctement (du moins, comme je m'y attends). Peut-être devrais-tu préciser ce qui, pour toi, est un résultat faux. Pour cela, tu peux indiquer : un extrait du fichier, le résultat attendu, et le résultat obtenu. Avec ces informations, on pourra davantage t'aiguiller. Bonne journée !
__________________
Récursivité en C : épidémie ou hérésie ? "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 17 ![]() |
le fichier que j'ai contient des données comme les suivantes:
0 2 1.34E-04 1.07E-05 1 6 7.19E-05 6.47E-06 2 2 1.81E-04 1.36E-05 mais le résultat affiché est le suivant: -4.316E+008 -4.316E+008 -4.316E+008 . . . -4.316E+008 -4.316E+008 -2.195E-005 . . . 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000 |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() ![]() |
Déjà, il faut voir comment tu as réarrangé ton code en fonction des remarques proposées. De plus, tu cherches à lire 1000 valeurs, alors qu'il y en a déjà quatre par lignes (soit 4000).
__________________
Récursivité en C : épidémie ou hérésie ? "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 17 ![]() |
Peux tu m'expliquer d'avancer comment je peux corriger mon programme (je suis débutante avec ces types de fonction)
|
|
|
00
|
|
|
#6 |
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 821 ![]() |
Ton code ne compile pas. Tu ne peux pas utiliser ind_struct comme type et comme nom de variable.
Tu utilises une fonction nommery qui semble pompée d'ailleurs. Pourquoi pas, mais les déclarations / définitions de fonctions à l'ancienne, c'est moche. Met le à jour. Un const ne serait pas mal non plus. Kirilenko te demande de montrer ton nouveau code et met en évidence que ton exemple ne correspond au problème que tu exposes... Poste le nouveau code et répond lui.
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
30
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 17 ![]() |
Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 17 ![]() |
J'ai essayé de modifier mon programme mais toujours je trouve une difficulté à manipuler ce type de fonction.
|
|
|
00
|
|
|
#9 |
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 821 ![]() |
Oui..... et quel est ce soucis ?
Il faut nous en dire plus pour qu'on puisse t'aider.
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
00
|
Copyright © 2000-2013 - www.developpez.com