Langage C
Résolu
Bonjour,
Voila j'ai vu sur un site que l'on pouvait créer un sapin en langage C et avec putchar, seulement j'avoue je n'y connais absolument rien et je ne comprend pas comment faire. Est-ce quelqu'un pourrait m'aider.
Voila j'ai vu sur un site que l'on pouvait créer un sapin en langage C et avec putchar, seulement j'avoue je n'y connais absolument rien et je ne comprend pas comment faire. Est-ce quelqu'un pourrait m'aider.
Configuration: Windows Vista Firefox 3.0.3
2 réponses
-
salut, c'est simple, voici les deux outils qu'il te faut : 1/ On suppose que tu sais utiliser la fonction putchar(..);, si ce n'est pas le cas, tu peux utiliser printf(...); en affichant le caractere que tu veux. 2/ Passée l'étape 1, il te faut utiliser deux boucles imbriquées, par exemple la boucle for(); fera l'affaire. 2.1/ Dans un 1er temps essaies d'afficher par exemple un carré (peut-être que ça ne ressemblera pas exactement à un carré sur ton écran mais c'en est un avec comme côté 33 étoiles): #include<stdio.h> int main(){ int i, j; char mon_caractere = '*'; printf("\nVoici mon carré de 33 étoiles :\n"); for(i=0 ; i<32 ; i++){ for(j=0 ; j<32 ; j++){ printf("%c", mon_caractere); } printf("\n"); } return 0; } 2.2/ Ensuite pour un triangle isocèle, rectangle ou équilatéral, il suffit juste de modifier les intialisations de i et de j dans les boucles for.. Et enfin tu t'inspirera de ça pour réaliser ton sapin ;-)-
-
@AlzeniaVoila ce que ça donne :
[URL=https://imageshack.com/][IMG]http://img519.imageshack.us/img519/3521/68708306ff8.th.png[/IMG][/URL] -
@Alzeniaok, si tu préfères la boucle while, voici la version pour corriger ton programme :
#include<stdio.h>
void sapin(int taille){
int i=0;
int j=0;
while(i < taille){
while(j < taille){
printf("*");
j++;
}
printf("\n");
i++;
j=0;
}
}
int main(){
sapin(5);
return 0;
}
Ça dessine un carre, pour avoir ton sapin, il faut reflechir pour modifier les valeurs de i et de j.
Voici ce qui va pas dans ton programme :
- Dans tes deux while tu as écris while((i=0) && (i<taille)) : dans un test, il faut ecrire (i==0) parce que si tu écris (i=0) c'est une affectation.
- Tu as oublié d'incrémenter les valeurs de i et de j.
Voilà -
@oupsmanDésolé pour le retard, j'ai eu pas mal de boulot au travail du coup j'ai pas eu le temps de me pencher de nouveau sur mon sapin.
C'est bon j'ai réussi, je te remercie. Par contre j'aurai une autre question, est-ce qu'il est possible de faire d'autre dessin comme ça mais plus compliqué ou on ne peut faire que de simple forme géométrique (carré, triangle). -
@AlzeniaEn effet tu peux dessiner n'importe quel forme géométrique et si t'es fort en maths, tout t'es possible, par exemple tracer un cercle, une ovale, des fonctions ... etc ...
Mais je ne vois pas l'interêt pour n'afficher que des étoîles lol. Le fait de pouvoir tracer un carré, un triangle et les autres formes simples te permet juste de maîtriser les boucles for, while etc ...
Tiens, si tu veux t'amuser, essaies de dessiner un losange ;-)
Indice : il faut dessiner un triangle d'abord (par exemple la partie supérieure, ensuite tu dessines en bas un autre triangle inversé comme partie unférieure, les deux forment un losange).
N'oublies pas de marquer statut "résolu" quand ton problème est résolu ;-) à +
-
-
svp aide moi "un programe c qui permet d'avoir l'affichag suivant ******
* * * * *
* * * ** ** *