[résolu][Compilateur] => C <=

Bonjour la Zone,

La nouvelle année étant synonyme de phase de cours dans mon école j’ai du abandonné mon J2ME pour faire du C en algo.
Jusque là rien de bien méchant mais mon Dev-C++ ne compile plus rien et mon prof comme mes amis ne savent pas pourquoi.
Quand je crée un fichier bidon du genre :

[code]#include <iostream.h>
#include <stdlib.h>

int main()
{
system(“PAUSE”);
return 0;
}[/code]
Il compile mais normal y a rien dedans T_T

Il suffit que j’ajoute une déclaration pour qu’il me renvoie une erreur ( qui est la même que celle qui m’est renvoyée lors des compilations de mes algos):

[code]#include <iostream.h>
#include <stdlib.h>

int main()
{
int i;
system(“PAUSE”);
return 0;
}[/code]

La liste des erreurs est dans le screenshot.
Je me doute que ca doit etre une erreur bidon mais je ne vois pas laquelle, c’est évident que ca n’est pas dans la déclaration.

Merci à ceux qui pourront m’aider et aux autres de m’avoir lu.

Le Duc.

D’après ce que je vois ça plante pas sur ton source mais iostream.h

T’as essayé en enlevant iostream?
T’as essayer de désinstaller/réinstaller devcpp proprement?
T’as d’autres compilateurs C installé?

[quote=“fingah, post:2, topic: 44233”]D’après ce que je vois ça plante pas sur ton source mais iostream.h

T’as essayé en enlevant iostream?
T’as essayer de désinstaller/réinstaller devcpp proprement?
T’as d’autres compilateurs C installé?[/quote]
Oui ca plante sur mon iostream.h mais pourquoi ?
J’ai effectivement essayé en enlevant l’import de cette bibliotheque et ca passe mais j’aimerai comprendre pourquoi ca fait tout planter.

Merci de ta réponse si y a d’autres volontaires…

Have a nice day,

Le Duc.

Ca sent l’édition (voulue ou non) de ton iostream.h ou alors une corruption du fichier
Tu peux essayer de remplacer le fichier par un fichier sain, pour voir.

[quote=“Uriel, post:4, topic: 44233”]Ca sent l’édition (voulue ou non) de ton iostream.h ou alors une corruption du fichier
Tu peux essayer de remplacer le fichier par un fichier sain, pour voir.[/quote]

Ok merci à tous.
Pour l’instant je peux compiler et apprendre mon algo.
A moi les joies des listes chainées et des tris.

Je chercherai plus tard plus précisément les causes du problème de mon iostream.h

Bonne journée à tous,

Le Duc.

[quote=“Le_Duc, post:5, topic: 44233”]Ok merci à tous.
Pour l’instant je peux compiler et apprendre mon algo.
A moi les joies des listes chainées et des tris.

Je chercherai plus tard plus précisément les causes du problème de mon iostream.h
Bonne journée à tous,
Le Duc.[/quote]

Haaa, les listes chainées! ^^

Have fun B)

Tiens, à propos de listes chaînées, je te propose un problème velu :

Un algo qui permet de gérer un arbre généalogique, et de faire des recherches multi-critères dessus B)

[quote=“Uriel, post:7, topic: 44233”]Tiens, à propos de listes chaînées, je te propose un problème velu :

Un algo qui permet de gérer un arbre généalogique, et de faire des recherches multi-critères dessus B)[/quote]

Bah le temps que j’assimile tout ca et je suis à toi.
Bon faut être patient avec moi B)

<iostream.h> B) C’est du C ou du C++ que tu fais ?

Si c’est du C alors tu ne dois pas utiliser <iostream.h> car c’est du C++
Si c’est du C++ alors tu ne dois pas utiliser <iostream.h> car c’est deprecated, utilise (sans le .h)

[quote=“Drealmer, post:9, topic: 44233”]<iostream.h> B) C’est du C ou du C++ que tu fais ?

Si c’est du C alors tu ne dois pas utiliser <iostream.h> car c’est du C++
Si c’est du C++ alors tu ne dois pas utiliser <iostream.h> car c’est deprecated, utilise (sans le .h)[/quote]

Merci !
En fait moi je fais du C ( et comme vu avez pu le constater j’ai aucune notion ).
Or quand je crée un nouveau fichier sous dev-c++ il m’importait tout ca de base.

Merci à toi Drealmer et mort aux listes chainées et à cet exo de gngngnnggnng.

Le Duc.

La Zone vaincra.

Si t’as du temps a perdre reflechit a comment faire une structure pour une liste chainee de int qui:

  • peut etre naviguee dans un sens ou dans l’autre (en avant ou en arriere)
  • sizeof(tastructure)=sizeof(int)+sizeof(void*) (que l’expression soit valable ou pas, c’est ce que ca exprime qui compte)

Ca c’est une question d’interview pour les hargneux B)

[quote=“GloP, post:11, topic: 44233”]Si t’as du temps a perdre reflechit a comment faire une structure pour une liste chainee de int qui:

  • peut etre naviguee dans un sens ou dans l’autre (en avant ou en arriere)
  • sizeof(tastructure)=sizeof(int)+sizeof(void*) (que l’expression soit valable ou pas, c’est ce que ca exprime qui compte)

Ca c’est une question d’interview pour les hargneux B)[/quote]

J’imagine qu’on ne peut utiliser que ça comme data ? Donc le pointeur ne peut pas pointer vers une structure externe ou une table ?

Yup B) y a une ruse evidemment hein, mais elle est marrante.

Je propose de faire boucler la liste. Y’a moyen de parcourir la liste dans les deux sens, mais y’a un sens où on fait tout le tour B) C’est bon ça ou bien c’est plus subtil ?

Plus subtil, et pas de boucles B)

si on sait qu’on aura un nombre limité d’éléments dans la chaine, on peut se démerder pour tout mettre dans des adresses mémoires dont la premiere moitié serait identique, et ensuite utiliser la moitié du pointeur pour la seconde moitié de l’adresse du suivant, et l’autre moitié du pointeur pour la seconde moitié de l’adresse du précédent. mais comme ça limite le nombre d’éléments possible et que ça implique de réserver une grosse zone memoire au préalable, c’est ultra-crade. donc je cherche autre chose.

Mouaip j’avais pensé à ça aussi, tout coller dans 64k. Mais bon euh B) Je cherche toujours…

Il me semble avoir déjà vu passer le problème sur la zone fut un temps.
Y’a pas une histoire de XOR et on stocké ds le pointeur “suivant XOR precedent”. Faudrait chercher dans les trefonds de la zone.

[quote=“MadGnome, post:18, topic: 44233”]Il me semble avoir déjà vu passer le problème sur la zone fut un temps.
Y’a pas une histoire de XOR et on stocké ds le pointeur “suivant XOR precedent”. Faudrait chercher dans les trefonds de la zone.[/quote]
Mmh oui, ça aussi, mais alors comment faire pour initier l’algo ? C’est le premier pas qui coûte, une fois qu’on a deux éléments consécutifs on peut continuer.

effectivement, ça pourrait fonctionner. si la chaine ne boucle pas, on met l’adresse du suivant du premier en clair, et on fait un x-or pour tous les autres. on retrouve le suivant du second avec un x-or du pointeur et de l’adresse du premier, etc. et on peut revenir en arrière à volonté. mais il faut obligatoirement un premier élément en clair.