Algo en C

Fermé
johan - 8 déc. 2005 à 20:38
emmanuelP Messages postés 137 Date d'inscription vendredi 8 février 2002 Statut Contributeur Dernière intervention 7 mai 2006 - 10 déc. 2005 à 19:38
Bonsoir , je dois écrire un programme qui prend en entrée des lignes de caractères , qui compte le caractère de toutes les lignes et qui affiche le nombre de caractères pour chaque ligne , alors voici mon algo en français , dites moi si il est bon:

On parcourt la ligne ( qui n'est autre qu'un tableau de caractère ), on compte les caractères avec une fonction déjà programmée . Donc si on a n caractère à la 1ere ligne , j'incrémente la case 0 d'un tableau de n et j'affiche la valeur de la case 0 , si j'ai n caractère à la 2eme ligne , j'incrémente la case 1 n fois ...

A ce stade je veux juste votre avis sur mon algo français , est il programmable en C , juste un oui ou non çà suffira , merci .

PS : si mon algo français n'est pas bon , dites le tt de même , merci .

4 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
9 déc. 2005 à 11:21
Il est bon, sauf sur un point : tu dis que tu veux utiliser un tableau, mais tu ne connais a prioiri pas le nombre de ligne donc tu risque d'avoir un problème pour savoir quelle taille de tableau allouer. Tu risques de devoir utiliser une liste chainée.

Si tu sais faire du c++, en utilisant des std::vector et la méthode push_back, ce problème est transparent.

Bonne chance
0
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 127
10 déc. 2005 à 00:21
ecris ton algo de manière plus synthéthique avec des périphrases :

si (Mon truc) alors
faire ca
sinon
compter jusqu'a 10
finsi

par exemple, c'est plus court, plus visuel, plus mieux quoi ,op
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
10 déc. 2005 à 02:57
Ouais, ou direct en C tant qu'on y est ;-)
0
emmanuelP Messages postés 137 Date d'inscription vendredi 8 février 2002 Statut Contributeur Dernière intervention 7 mai 2006 161
10 déc. 2005 à 19:38
Slt,

Pour la forme, je dirais que c'est compréhensible. Si tu veux faire une "Spécification externe" de ta fonction, je te conseille de ne pas hésiter à utiliser la méthode indiquée par scoubidou944. Ce qui donnerait:

préconditions: {chaine de caractères de taille>0}

actions:
debut
num_ligne:=0
tant que caractère lu!=EOF faire
num_ligne++
num_char:=0
tant que caractere lu!=EOL faire
num_char++
fin tant que
recapitulatif[num_ligne]:=num_char

fin tant_que
pour index de 1 à num_ligne
afficher ("ligne numero %d: %d", num_ligne,recapitulatif[num_ligne])
fin pour
fin

postconditions: {}

Tu remarqueras que le passage au code est facile et direct.

Good luck
0