Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/08/2014, à 15:44

Nostrad

[Résolu] Exécution programme C

Bonjour,

J'utilise le logiciel Geany, je ne l'ai pas particulièrement configuré vu que tout semblait marcher au premier abords mais j'ai un léger problème.
Afin de rattraper les cours de fac d'informatique cet été, j'ai acheté un petit bouquin, (Le language C, norme ANSI).
Un des exemples donnés est le suivant, le but est de compter les occurences des dix chiffres, des caractères d'espacement (=espace/tabulation/fin de ligne) et de tous les autres caractères).

#include <stdio.h>

int main(void) 
{
	int c, i, nespace, nautre;
	int nchiffre[10];
	
	nespace = nautre= c = 0;
	for (i = 0; i < 10; ++i)
		nchiffre[i] = 0;
	
	while ((c = getchar()) !=EOF)
		if (c >= '0' && c <= '9')
			++nchiffre[c-'0'];
		else if (c == ' ' || c == '\n' || c == '\t')
			++nespace;
		else
			++nautre;
		
	printf("chiffres =");
	for (i = 0; i < 10; ++i)
		printf(" %d", nchiffre[i]);
	printf(",espacement = %d, autres = %d\n", nespace, nautre);
	return 0;
}

Lorsque je le compile je n'ai aucun problème mais lorsque je l'utilise et que je rentre les mots où j'aimerai que les occurrences des caractères soient comptés, je n'obtient rien. Le code me semble pourtant bon et logique (surtout que je l'ai recopié directement du bouquin en plus), savez vous d'où l'erreur peut venir ?

En vous remerciant par avance !

PS: Ce forum est plus axé ubuntu, je ne sais pas trop si ma question rentre tout de même dans le cadre du sous-forum où je l'ai posté (c'est plus un problème sur un "exercice" si on veut, donc si ce n'est pas le cas, dites le moi, que je le sache à l'avenir.

Dernière modification par Nostrad (Le 22/08/2014, à 15:57)

Hors ligne

#2 Le 22/08/2014, à 15:52

pingouinux

Re : [Résolu] Exécution programme C

Bonjour,
Ton programme marche. Quand tu as fini d'entrer les données, tape Ctrl+D pour indiquer la fin du fichier stdin.

Hors ligne

#3 Le 22/08/2014, à 15:57

Pere Collateur

Re : [Résolu] Exécution programme C

Sur unix, en ligne de commande, pour émuler EOF (End of File) il faut taper CTRL+D.

Donc dans le cas de ce programme, vous tapez vos carartères alphanumériques, puis quand tout est saisi, il suffira de faire un CRTL+D pour avoir le décompte.

Sur windows, il me semble l'équivalent que c'est CTRL+Z...


--

Windows est déjà mort, mais il ne le sait pas encore!

Hors ligne

#4 Le 22/08/2014, à 15:59

Nostrad

Re : [Résolu] Exécution programme C

Salut,
Merci à vous, ça marche très bien maintenant, bonne continuation.

Dernière modification par Nostrad (Le 22/08/2014, à 15:59)

Hors ligne