Premiers pas en C
Fermé
exta
-
11 sept. 2013 à 16:39
juliencolin54 Messages postés 217 Date d'inscription dimanche 22 juillet 2012 Statut Membre Dernière intervention 1 octobre 2013 - 13 sept. 2013 à 10:57
juliencolin54 Messages postés 217 Date d'inscription dimanche 22 juillet 2012 Statut Membre Dernière intervention 1 octobre 2013 - 13 sept. 2013 à 10:57
A voir également:
- Quand on allume un ordinateur ou un smartphone, le système d’exploitation est le programme qui se lance en premier et qui permet ensuite d’utiliser des applications.
- Ordinateur qui rame - Guide
- Programme lancé au démarrage de Windows : bien le désactiver - Guide
- Comment réinitialiser un ordinateur - Guide
- Windows ne se lance pas - Guide
- Mon ordinateur s'allume mais l'ecran est noir - Guide
7 réponses
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
Modifié par Thorak83 le 11/09/2013 à 17:02
Modifié par Thorak83 le 11/09/2013 à 17:02
Bonjour,
Cordialement
#include <stdio.h>
int main()
{
char i;
for(i=97;i<123;i++)
printf("%c",i);
return 0;
}
Cordialement
Merci pour ta reponse, j aurais qq questions svp, deja pourquoi i de 97 a 123 et non de 0 a 25?, ensuite que signifie ""%c" ? et pourquoi ne met on pas des ouvetures et fermetures a la boucle ?
Merci.
Merci.
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
11 sept. 2013 à 17:22
11 sept. 2013 à 17:22
97 est le code ASCII de la lettre a et 122 celui du z (http://www.table-ascii.com/
ensuite le %c permet de formater la variable i en caractère (http://www.cplusplus.com/reference/cstdio/printf/
pas besoin de mettre des {] a la boucle for car il n'y a qu'une seule ligne dedans, mais tu peux en mettre, pas de problèmes
for(i=97;i<123;i++)
{
printf("%c",i);
}
ensuite le %c permet de formater la variable i en caractère (http://www.cplusplus.com/reference/cstdio/printf/
pas besoin de mettre des {] a la boucle for car il n'y a qu'une seule ligne dedans, mais tu peux en mettre, pas de problèmes
for(i=97;i<123;i++)
{
printf("%c",i);
}
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
11 sept. 2013 à 17:34
11 sept. 2013 à 17:34
voici en version WHILE
#include <stdio.h>}
int main()
{
char i;
i=97;
while (i<123)
{
printf("%c",i);
i++;
}
return 0;
Utilisateur anonyme
11 sept. 2013 à 17:38
11 sept. 2013 à 17:38
Bonjour
Petite remarque : il est tout à fait autorisé - et beaucoup plus explicite - d'utiliser 'a' et 'z' à la place de 97 et 123, comme tu le faisais dans ta version initiale.
Petite remarque : il est tout à fait autorisé - et beaucoup plus explicite - d'utiliser 'a' et 'z' à la place de 97 et 123, comme tu le faisais dans ta version initiale.
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
11 sept. 2013 à 17:46
11 sept. 2013 à 17:46
oui, et
Dal
int main(void)devrait être le prototype.
Dal
Merci encore pour ton aide !
Donc apres si je dois changer l ordre alphabetique, donc commencer par z, je mettrais i=123 et while i<97 ? ou il y a t il une commamde pour inverser ?
Et de meme pour tous les chiffres comment faire, dois je mettre un n pour vu que tous les chiffres sont infini ?
Et une ptite chose qui n a rien a voir, sous emacs je suis cense faire 4 tabulations mais rien ne se passe c est nor;al <
Donc apres si je dois changer l ordre alphabetique, donc commencer par z, je mettrais i=123 et while i<97 ? ou il y a t il une commamde pour inverser ?
Et de meme pour tous les chiffres comment faire, dois je mettre un n pour vu que tous les chiffres sont infini ?
Et une ptite chose qui n a rien a voir, sous emacs je suis cense faire 4 tabulations mais rien ne se passe c est nor;al <
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour l alphabet inverser c est bon par contre pour afficher tous les chiffres j ai un peu plus de mal, j ai essaye int i=0 et int n(pour infini)=i++ mais apparememt ca n est pas ca, et je vois ;al commemt verifier par le suite, on va avoir tous les nombres jusqu a linfini....?
Aussi un autre exo sur lequel je bloque... on doit afficher toutes les compo differentes de 3 chiffres en ordre croissant, j ai fais ca mais ne connait pas ce au il faut mettre pour :croissant", "chiffre1,2.." :
#include <stdio.h>
int main (void)
{
int i;
i=0;
while (i<=988)
{
i++;
if (i=croissant && chiffre1<chiffre2 && chiffre2<chiffre3)
{
printf("%c",i);
}
}
}
#include <stdio.h>
int main (void)
{
int i;
i=0;
while (i<=988)
{
i++;
if (i=croissant && chiffre1<chiffre2 && chiffre2<chiffre3)
{
printf("%c",i);
}
}
}
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
12 sept. 2013 à 08:53
12 sept. 2013 à 08:53
tu dois afficher tous les chiffres de 0 à l'infini ? C quoi exactement l'exo.
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
Modifié par Thorak83 le 12/09/2013 à 09:01
Modifié par Thorak83 le 12/09/2013 à 09:01
pour le 2ème exo je verrais comme ca rapidement, 3 boucles imbriquées faisant varier le dernier chiffre, puis l'avant dernier, puis le premier.
Est-ce que 001 - 002 - 003 sont acceptés ou faut t"il vraiment des valeurs numériques 1 - 2 - 3 ....
faut'il utiliser des while ou les for sont acceptés
Est-ce que 001 - 002 - 003 sont acceptés ou faut t"il vraiment des valeurs numériques 1 - 2 - 3 ....
faut'il utiliser des while ou les for sont acceptés
Je me suis trompe c est des chiffres donc ca va de 0 a 9... fatigue quand tu nous tiens xD.
Pour les compo differente j ai fais comme ca :
#include <stdio.h>
int main (void)
{
int a, b, c;
while (a<=7)
{
b=a+1;
while (b<=8)
{
c=b+1;
while (c<=9)
{
printf ("%d%d%d\n", a, b, c);
c++;
}
b++;
}
a++;
}
}
ca vous parait bon ?
Pour le %d%d%d%d\n on m a aider et je n ai rien compris... a quoi cela correspond t il ?
Ensuite on doit faire une combi de 2 nombres entre 0 et 99 dqns l ordre croissant j ai repris donc le meme qu au dessus en supprimant le c ? Je garde juste a et b (a<=8) et (b<=9).
Apres je dois afficher un nombre passe en parametre, La fonction devra
être capable d'a"cher la totalité des valeurs possibles dans une variable de type
int. J essaie de le faire et je posterais ici si je rencontre un soucis.
Merci.
Pour les compo differente j ai fais comme ca :
#include <stdio.h>
int main (void)
{
int a, b, c;
while (a<=7)
{
b=a+1;
while (b<=8)
{
c=b+1;
while (c<=9)
{
printf ("%d%d%d\n", a, b, c);
c++;
}
b++;
}
a++;
}
}
ca vous parait bon ?
Pour le %d%d%d%d\n on m a aider et je n ai rien compris... a quoi cela correspond t il ?
Ensuite on doit faire une combi de 2 nombres entre 0 et 99 dqns l ordre croissant j ai repris donc le meme qu au dessus en supprimant le c ? Je garde juste a et b (a<=8) et (b<=9).
Apres je dois afficher un nombre passe en parametre, La fonction devra
être capable d'a"cher la totalité des valeurs possibles dans une variable de type
int. J essaie de le faire et je posterais ici si je rencontre un soucis.
Merci.
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
12 sept. 2013 à 09:29
12 sept. 2013 à 09:29
les 3 boucles imbriquées: OK. mais pourquoi la 1ère boucle ne pas que jusqu'à 7 (a<=7) et pourquoi la 2ème ne vas que jusqu'à 8 ?
le printf est un print format c a dire que l'on format ce que l'on va afficher. le premier argument est le format, les autres les variables
https://fr.wikipedia.org/wiki/Printf
"%d%d%d\n" : %d veut dire format int. on le met 3 fois car il y a 3 variables a afficher (a,b,c) et le \n c pour faire un retour a la ligne
le printf est un print format c a dire que l'on format ce que l'on va afficher. le premier argument est le format, les autres les variables
https://fr.wikipedia.org/wiki/Printf
"%d%d%d\n" : %d veut dire format int. on le met 3 fois car il y a 3 variables a afficher (a,b,c) et le \n c pour faire un retour a la ligne
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
12 sept. 2013 à 09:57
12 sept. 2013 à 09:57
non tu n'auras pas mes 8.. et les 9..
8 et 9 sont avec b et c non ? vu que c est a trois nombres comment faire autrement ? a s occupe des 7 premiers, b du 8 et c du 9 ? et vu qu a chaque fois b=a+1 etc on tombe sur une composition de 3 chiffres qui se sont jamais les memes ? apres c est fort probable que je comprenne mal, comment auriez vous fait ?
juliencolin54
Messages postés
217
Date d'inscription
dimanche 22 juillet 2012
Statut
Membre
Dernière intervention
1 octobre 2013
55
12 sept. 2013 à 12:51
12 sept. 2013 à 12:51
Bonjour,
Tu devrais être un peu plus autonome pour réaliser la piscine d'Epitech.
L'École t'oblige normalement à la faire par toi même, c'est comme ça que l'on apprends !
Cdlt,
Tu devrais être un peu plus autonome pour réaliser la piscine d'Epitech.
L'École t'oblige normalement à la faire par toi même, c'est comme ça que l'on apprends !
Cdlt,
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
Modifié par Thorak83 le 12/09/2013 à 14:13
Modifié par Thorak83 le 12/09/2013 à 14:13
C'est très moralisateur comme discours. surtout pour quelqu'un de 19 ans
Ici on pose des questions et on essaie d'y répondre sans faire de morale. Je pense qu'il est assez grand pour comprendre que faire du copier/coller est stupide. De plus, si vous avez lu l'ensemble des post vous aurez remarqué qu'il essaye de comprendre ce que je lui donne.
Donc votre post ne sert à rien
Ici on pose des questions et on essaie d'y répondre sans faire de morale. Je pense qu'il est assez grand pour comprendre que faire du copier/coller est stupide. De plus, si vous avez lu l'ensemble des post vous aurez remarqué qu'il essaye de comprendre ce que je lui donne.
Donc votre post ne sert à rien
juliencolin54
Messages postés
217
Date d'inscription
dimanche 22 juillet 2012
Statut
Membre
Dernière intervention
1 octobre 2013
55
13 sept. 2013 à 10:57
13 sept. 2013 à 10:57
Bonjour à vous deux
Thorak83,
Non, ce n'est moralisateur, je voulais seulement passer un message, un commentaire.
Peut-être m'avez vous mal compris, ou que je me suis mal exprimé.
Par "Tu devrais", je conseille et n'oblige pas.
Je me suis dit que vous ne saviez peut-être pas que ce sont des exercices d'Epitech, alors j'ai fait cette remarque pour éclaircir leur but.
Ce que j'ai voulu dire c'est : qu'ils sont très formateurs, surtout lorsqu'on réfléchis pendant longtemps dessus.
Vous avez l'interprétation un peu facile en me faisant dire ce que je n'ai pas dit; je cite : "Je pense qu'il est assez grand pour comprendre que faire du copier/coller est stupide".
Et ça, c'est stupide.
Aussi, je ne sais pas si c'est la rage ou l'excès de confiance en vous qui vous anime, pour me juger si facilement en fonction de mon age.
C'est blessant, alors, sans vouloir vous offenser, réfléchissez à deux fois avant de rebondir si facilement. Merci.
exta,
Il n'y a pas de soucis là-dessus, c'est juste une information que je te donnes sur leur provenance. Pour que tu saches à quoi tu as affaire, et comment les aborder !
D'ailleurs, maintenant tu trouveras peut-être plus facilement des infos puisque tu sais comment les trouver. Enfin, je l'espère :)
En espérant n'avoir pas été trop agressif Thorak83.
Cordialement,
Thorak83,
Non, ce n'est moralisateur, je voulais seulement passer un message, un commentaire.
Peut-être m'avez vous mal compris, ou que je me suis mal exprimé.
Par "Tu devrais", je conseille et n'oblige pas.
Je me suis dit que vous ne saviez peut-être pas que ce sont des exercices d'Epitech, alors j'ai fait cette remarque pour éclaircir leur but.
Ce que j'ai voulu dire c'est : qu'ils sont très formateurs, surtout lorsqu'on réfléchis pendant longtemps dessus.
Vous avez l'interprétation un peu facile en me faisant dire ce que je n'ai pas dit; je cite : "Je pense qu'il est assez grand pour comprendre que faire du copier/coller est stupide".
Et ça, c'est stupide.
Aussi, je ne sais pas si c'est la rage ou l'excès de confiance en vous qui vous anime, pour me juger si facilement en fonction de mon age.
C'est blessant, alors, sans vouloir vous offenser, réfléchissez à deux fois avant de rebondir si facilement. Merci.
exta,
Il n'y a pas de soucis là-dessus, c'est juste une information que je te donnes sur leur provenance. Pour que tu saches à quoi tu as affaire, et comment les aborder !
D'ailleurs, maintenant tu trouveras peut-être plus facilement des infos puisque tu sais comment les trouver. Enfin, je l'espère :)
En espérant n'avoir pas été trop agressif Thorak83.
Cordialement,