Programme C
Résolu/Fermé
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
-
12 janv. 2010 à 16:17
kirua-93 Messages postés 599 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 octobre 2014 - 28 janv. 2010 à 20:03
kirua-93 Messages postés 599 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 octobre 2014 - 28 janv. 2010 à 20:03
A voir également:
- Programme C
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Programme démarrage windows 10 - Guide
35 réponses
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
13 janv. 2010 à 00:21
13 janv. 2010 à 00:21
if(c<a)
{ printf("%d\n",c);
goto entier;
}
goto triangulaire;
}
en fait, je n'avais pas regardé ton code du début, mais j'ai vu ce que j'ai copié ci-dessus.
goto == le mal en personne (ou plutot en commande C)
il faut que tu apprennes l'utilisation des variables et des boucles. n'utilise jamais le goto, on peut tout faire sans lui même si ça parait plus compliqué. Le goto est une énorme source de bug. Oublie ce mot. Pour toujours.
{ printf("%d\n",c);
goto entier;
}
goto triangulaire;
}
en fait, je n'avais pas regardé ton code du début, mais j'ai vu ce que j'ai copié ci-dessus.
goto == le mal en personne (ou plutot en commande C)
il faut que tu apprennes l'utilisation des variables et des boucles. n'utilise jamais le goto, on peut tout faire sans lui même si ça parait plus compliqué. Le goto est une énorme source de bug. Oublie ce mot. Pour toujours.
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 16:37
12 janv. 2010 à 16:37
up
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
12 janv. 2010 à 16:46
12 janv. 2010 à 16:46
Question con, as tu recompilé ?
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
12 janv. 2010 à 16:55
12 janv. 2010 à 16:55
Le résultat est normal. Il ne faut pas trop se fier à ce qui se passe sous Windows ;-)
Rajoute des 'printf' du style
Bonne réflexion.
Rajoute des 'printf' du style
printf("a=%d b=%d c=%d\n", a, b, c);et tu comprendras.
Bonne réflexion.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 19:58
12 janv. 2010 à 19:58
Oki merci je vais essayer
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 20:06
12 janv. 2010 à 20:06
heu quesque l'action de compiler ?
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
12 janv. 2010 à 20:19
12 janv. 2010 à 20:19
compiler = transformer ton code (du texte) en programme ( du code binaire machine). Lorsque tu fais des modifications dans ton code, selon l'environnement que tu utilises, il faut bien compiler ton programme avant de le lancer, sinon l'environnement va lancer le dernier programme compilé, c-est-à-dire avant que tu fasses la modification, c'est pour cela qu'il te conseillait d'essayer de recompiler avant.
Mais suis les conseils de Loupius surtout.
Mais suis les conseils de Loupius surtout.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
>
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
12 janv. 2010 à 20:29
12 janv. 2010 à 20:29
oups pardon, j'ai mal compris ton problème :
La c'est un problème de systèmes d'exploitation : le programme compilé avec code blocks sous windows ce sera un .exe , avec du code conçu pour être compris par Windows.
Pour Ubuntu, vu que c'est linux, il faut reprendre ton code et le compiler (gcc ...) pour en faire un programme linux. Sinon il n'y a aucune chance que ça marche : Windows et Linux (ou plutot Unix) ne parlent pas la même langue.
La c'est un problème de systèmes d'exploitation : le programme compilé avec code blocks sous windows ce sera un .exe , avec du code conçu pour être compris par Windows.
Pour Ubuntu, vu que c'est linux, il faut reprendre ton code et le compiler (gcc ...) pour en faire un programme linux. Sinon il n'y a aucune chance que ça marche : Windows et Linux (ou plutot Unix) ne parlent pas la même langue.
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
47
12 janv. 2010 à 20:15
12 janv. 2010 à 20:15
Installe Cygwin pour Windows, tous les packages de Dev, et fais moi signe quand tu auras déjà fait ca.
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
47
12 janv. 2010 à 20:18
12 janv. 2010 à 20:18
Bon je balance la suite. Il t'aura surement installé Cygwin dans C:/cygwin.
Place ton fichier C dans c:/cygwin/home
Lance Cygwin.
On lance la compilation du fichier :
gcc -c fichier.c
gcc fichier.o -o fichier
./fichier
Place ton fichier C dans c:/cygwin/home
Lance Cygwin.
On lance la compilation du fichier :
gcc -c fichier.c
gcc fichier.o -o fichier
./fichier
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 20:25
12 janv. 2010 à 20:25
Ah non ces bon pour windows ce n'est que sous linux que le programme marche d'ailleur que sa marche ou pas sous win je men fiche un peu ^^
mais merci quand meme
mais merci quand meme
Apaachee
Messages postés
248
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 août 2011
47
12 janv. 2010 à 20:27
12 janv. 2010 à 20:27
Je suis peut être allé un peu vite sur les explications. Cygwin est un programme qui te simule un environnement Linux sous Windows, et très simple d'emploi. Donc si tu veux faire marcher ton programme sous windows, ou meme programmer sou swindows... CYGWIN !
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 20:50
12 janv. 2010 à 20:50
Oki merci
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 21:12
12 janv. 2010 à 21:12
Mais jai deja compiler mais ligne de code sous ubuntu avec gcc -o nomdufichier.c test
./test
et c la que sa maffiche 0 1
./test
et c la que sa maffiche 0 1
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
12 janv. 2010 à 21:42
12 janv. 2010 à 21:42
Mais c'est normal que tu n'aies que 0 1.
Comme dirait Paco, fais tourner ton code à la main et avec un crayon note le résultat.... et tu trouveras 0 1.
Bonne réflexion.
Comme dirait Paco, fais tourner ton code à la main et avec un crayon note le résultat.... et tu trouveras 0 1.
Bonne réflexion.
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
12 janv. 2010 à 23:35
12 janv. 2010 à 23:35
arf ji suis presque je le sens
voila la fonction que j'ai faite elle fait apparaitre les nombres triangulaires et maintenant je doit faire apparaitre les nombres entier (1 2 3 4 5 ect..) sans les triangulaire dedans
La question ces comment faire cela ? ces avec unefonction for que lon fait sa nn ?
voila la fonction que j'ai faite elle fait apparaitre les nombres triangulaires et maintenant je doit faire apparaitre les nombres entier (1 2 3 4 5 ect..) sans les triangulaire dedans
La question ces comment faire cela ? ces avec unefonction for que lon fait sa nn ?
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
12 janv. 2010 à 23:48
12 janv. 2010 à 23:48
oui il faudra une boucle for, bien entendu.
Pour afficher tous les nombres entiers jusqu'à 99:
pour ne pas écrire ceux qui sont triangulaires, tu peux utiliser un tableau de nombres triangulaires que tu as calculé.
je suppose que c'est celui-ci : int nbTriang[N] // contient les N premiers nombres triangulaires
Alors, comme les nombres triangulaires sont rangés dans le tableau (le plus petit est nbTriang[0]), ilsuffit d'attendre que tu tombes sur le premier. Si tu tombes dessus, tu n'affiches rien. Et ensuite tu t'attends à voir apparaitre le deuxième, etc... ça devient ceci :
Pour afficher tous les nombres entiers jusqu'à 99:
for (int nombre=1; nombre< 100; nombre++) { printf("%d ", nombre); }
pour ne pas écrire ceux qui sont triangulaires, tu peux utiliser un tableau de nombres triangulaires que tu as calculé.
je suppose que c'est celui-ci : int nbTriang[N] // contient les N premiers nombres triangulaires
Alors, comme les nombres triangulaires sont rangés dans le tableau (le plus petit est nbTriang[0]), ilsuffit d'attendre que tu tombes sur le premier. Si tu tombes dessus, tu n'affiches rien. Et ensuite tu t'attends à voir apparaitre le deuxième, etc... ça devient ceci :
int compteur=0; for (int nombre=1; nombre< 100; nombre++) { //on vérifie si le nombre actuel est le prochain nombre triangulaire if (nombre == nbTriang[compteur]) { //ici on n'affiche pas le nombre //mais il faut avancer le compteur pour le prochain qui apparaitra compteur++; } else { //le nombre n'est pas le prochain trangulaire alors on l'affiche printf("%d ", nombre); } }
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
13 janv. 2010 à 00:12
13 janv. 2010 à 00:12
Oki merci pour votre aide.
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
13 janv. 2010 à 00:25
13 janv. 2010 à 00:25
Ah oki mais fraudré surtout le dire a nos prof a la fac ils nous le sorte toutes les 30 secondes ^^
Enfin personnellement j'apprend plus chez moi avec le net que a la fac enfin bon merci du conseil.
Enfin personnellement j'apprend plus chez moi avec le net que a la fac enfin bon merci du conseil.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
13 janv. 2010 à 00:31
13 janv. 2010 à 00:31
à la fac : non, c'est pas vrai, tu rigoles ? Tu peux nous dire laquelle est-ce, je suis extrêmement curieux :) ?
Romiinet
Messages postés
596
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
2 novembre 2014
107
13 janv. 2010 à 00:27
13 janv. 2010 à 00:27
quel horreur enlevé moi ses GOTO !! O_o
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
13 janv. 2010 à 00:34
13 janv. 2010 à 00:34
Paris 8 université de Saint seint denis dans le 93
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
13 janv. 2010 à 00:37
13 janv. 2010 à 00:37
On vien juste de commencer les boucles for avec on a plus besoin d'utiliser goto donc je pourais suivre ton conseil et ne plus lutiliser enfin je crois
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
13 janv. 2010 à 00:41
13 janv. 2010 à 00:41
oui, alors ça doit juste être très très temporaire, le temps que tu apprennes les boucles en effet. J'ai eu peur tout d'un coup :)
kirua-93
Messages postés
599
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2014
72
13 janv. 2010 à 00:42
13 janv. 2010 à 00:42
C'est si horrible que sa mdr
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
13 janv. 2010 à 00:42
13 janv. 2010 à 00:42
et je me rends compte que ma réponse avec le tableau doit être incompréhensible pour toi alors, désolé.