LANGUAGE C : RANGEMENT D'UN TEXTE DANS UN TABLEAU DYNAMIQUE 2D

cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 - 20 mars 2008 à 12:19
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 - 20 mars 2008 à 13:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46120-language-c-rangement-d-un-texte-dans-un-tableau-dynamique-2d

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
20 mars 2008 à 13:05
Cette source n'apporte que peu d'interet. Cela ressemble plus à un exercise personnel qu'autre chose. Elle sera donc supprimée dans quelques jours.
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
20 mars 2008 à 12:19
Bonjour,

Voici quelques commentaires rapides

1) Initié ??? c'est un peu beaucoup !!!

2) Points anormaux constatés rapidement :

ligne 23 : int main(void)
Il manque le "return valeur" de la fonction principale.

ligne 50 : if (copie[cmpt+i] == ' ')
"copie[i]" est suffisant.

ligne 70 : while (x 0 && stop 0)
"stop" n'est pas initialisé avant le traitement.

ligne 72 : if (copie[cmpt+i] != ' ')
On dépasse la fin de la chaîne ("i" parcourt la chaîne).

ligne 78 : stop = 1; // On stop la boucle lorsqu'il y'a un espace
mais "stop" ne repasse jamais à 0.

ligne 84 : texte[y] = (char*) malloc(sizeof(char)*cmpt);
Si on veut pouvoir manipuler facilement les mots extraits il vaudrait mieux prévoir (et ajouter) le 0 terminateur.

"texte" n'est pas libérer.
Cela ne fonctionne pas correctement s'il y a plusieurs espaces entre les mots ou aux extrémités de la saisie.

...


3) J'ai quand même voulu le faire tourner (Visual C++ 6.0) --> Erreurs à l'exécution !
Rejoignez-nous