Un forum n'est pas un debuger. As-tu essayé valgrind pour repérer ton erreur de mémoire ? As-tu ensuite essayé gdb pour débusquer cette erreur ?
Un forum n'est pas un debuger. As-tu essayé valgrind pour repérer ton erreur de mémoire ? As-tu ensuite essayé gdb pour débusquer cette erreur ?
Commence par faire des fonctions, définir ce que tu parses, ce que tu reçois (un token quiest soit un opérateur soit un nombre), …
Ensuite l'algo est tout simple :
créer_AST( ref chaine ) :...
Bonjour,
il compile mais pas sans warnings :
ic.c: In function ‘analyse_ligne’:
ic.c:64:9: warning: unused variable ‘j’ [-Wunused-variable]
int i=0,j,k,debut,fin;
^
ic.c: In...
Juste pour revenir sur un de tes commentaires dans le code «Pour eviter une perte de temps en calculs.»
Tu peux revoir ton algo, tu n'as pas besoin de tous les nombres entre 1 et n/2 pour tester...
Bonsoir,
mouais, enfin un moment donné quand on dit créer il faut aussi penser malloc ...
La standard incite à passer par un scanf et pour ça il y a la macro SCNu64, il y a aussi des macros pour printf, pour initialiser les constantes (qui rajoute le bon suffixe), etc ...
uint64_t u64...
C'est pas ton programme qui est lent, c'est ton algo. Si tu veux améliorer les perfs change d'algo.
Quand tu as besoin de connaître la magnitude des entiers que tu manipules, tu peux utiliser les...
Attention, un code qui semble fonctionner n'est pas forcément un code correct.
En règle générale, si la sortie valgrind n'est pas vierge c'est qu'il y a des conneries, s'il y a des conneries genre...
Bonjour,
en général pour débuguer un programme il est plus simple d'utiliser un debuger plutôt qu'un forum :)
Sinon un bon outil pour t'aider à trouver rapidement les endroits fautifs est valgrind,...
Bonjour,
le «troisième paramètre de main» n'est pas forcément portable, même si la majorité des implémentations le comprennent. La façon standard d'accéder à une variable d'environnement est...
Bonjour,
avant d'optimiser il faut corriger → que se passe-t-il lorsque *l est NULL ? Si ptr devient NULL après la première boucle ?
Que penses-tu d'un code plus simple comme
cel...
Bonjour
effectivement la première version contient le bug que tu décris. Ta version le corrige. Néanmoins le cas où elt est NULL n'est pas traité, ce sera sans doute un prérequis.
Vous vous rendez compte du problème XY ?
On a au départ un truc certainement écrit en qui utilise des structures. Ensuite on passe en pyhton qui ne propose pas le même type natif mais passe par...
Si tu dois envoyer dans cet ordre un byte, un short (16bit), deux bytes, un int (32bits) alors tu fais une structure :
struct foo {
unsigned char first_byte ;
short first_short;
...
faut juste faire attention au padding, et en général pour ce genre de truc on l'inhibe pour avoir la main sur le formatage des données (pragma ou attributes en gcc/clang).
En même temps, le rpath (sauf en mode développement) ça ne sert à rien. À quoi bon mettre en dur un chemin sur une bibliothèque partagée ? autant en faire une bibliothèque statique ; c'est un peu...
C'est la même chose (mais en ancien dialecte :) ) :
Tiré de la man page de ld.
[/QUOTE]
Il faut faire la différence entre la structure de donnée + les algos et une implémentation spécifique.
Ce qu'on attend d'une hashtable est une complexité temporelle moyenne et/ou...
Bonjour,
il y a deux grandes catégories de tri de tableau (par extension de liste même si c'est un poil différent) :
les tris par comparaisons entre éléments (la majorité des tris «classiques»...
Je ne voudrais pas être désagréable, mais tu es en train de faire un mauvais programme en mauvais C même si l'idée de départ te semble bonne.
Que crois-tu qu'un bout de code comme le suivant fait...
Et c'est quoi !! ? Tu pensais sans doute écrire || ?
Sinon en français, tu veux lire tant que tu n'atteins pas la fin du fichier et qu'il y a encore de la place dans le buffer …
À ton avis, la conditionnelle caractereActuel != EOF || poschaine <= TAILLE_MAX est fausse quand ? Je crois qu'il va falloir revoir ça …
Ensuite utiliser fread pour lire byte par byte et remplir un...
Bonjour,
si tu veux te simplifier la vie :
utilise fprintf pour écrire, fscanf pour lire
utilise fwrite pour écrire, fread pour lire
ne mélange pas les deux
Pour apprendre les...
Dans le code que tu proposes il y a plusieurs problèmes et incompréhenrions.
Par exemple le compilateur a dû t'avertir sur : if(fichierLu = NULL) non ?
Mais dans l'ordre on a :
char caracLu =...
Bonjour,
juste en ce qui concerne la fonction main, la norme C11 impose à la section 5.1.2.2.1 Program Startup :
En gros, si on veut être portable et conforme on choisit une des définitions...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.