Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- //g. Ecrire un programme qui affiche une ligne de longueur N en alternant les espaces et les étoiles
- void etoiles_espaces(int n)
- {
- int i ;
- for(i = 1 ; i<= n ; i++)
- {
- if (i%2 != 0)
- {
- printf(" ");
- }
- else {printf("*") ;}
- }
- printf("\n");
- return ;
- }
- /* Explications :
- Comme il faut alterner les espaces et les étoiles, on teste la partié de i avec un modulo
- Par exemple pour etoiles_espaces(5),
- i = 1 -> impair -> espace
- i = 2 -> pair -> étoile
- i = 3 -> impair -> espace
- i = 4 -> pair -> étoile
- i = 5 -> impair -> espace
- Résultat : * *
- */
- // h. En réutilisant ce que vous avez fait, écrivez un programme qui affiche un damier de taille MxN
- // Là, on va avoir besoin de refaire une fonction comme etoiles_espaces mais qui affiche une étoile en premier puis un espace --> etoiles_espace_v2(2) affiche *(espace)
- void etoiles_espaces_v2(int n)
- {
- int i ;
- for(i = 1 ; i<= n ; i++)
- {
- if (i%2 != 0)
- {
- printf("*");
- }
- else {printf(" ") ;}
- }
- printf("\n");
- return ;
- }
- void damier ()
- {
- int i,n,m ;
- printf("Taille du damier N : ") ; //Nombre de lignes
- scanf("%d",&n) ;
- printf("Longueur du damier m : ") ; //Taille de la ligne
- scanf("%d",&m) ;
- for(i = 1 ; i <= n ; i++)
- {
- if(i%2 !=0)
- {
- etoiles_espaces_v2(m) ;
- }
- else
- {
- etoiles_espaces(m) ;
- }
- }
- printf("\n");
- return ;
- }
- /* Faites en sorte que l'utilisateur puisse afficher un damier en choisissant non
- seulement sa taille mais aussi le caractère utilisé. */
- /* Là je ne vois pas faire autrement que de ré-écrire les deux fonctions étoiles_espace
- en permettant à l'utilisateur de choisir son caractère */
- void caracteres_espaces(int n, char c)
- {
- int i ;
- for(i = 1 ; i <= n ; i++)
- {
- if (i%2 != 0)
- {
- printf(" ") ;
- }
- else
- {
- printf("%c",c ) ;
- }
- }
- printf("\n");
- return ;
- }
- void caracteres_espaces_v2(int n, char c)
- {
- int i ;
- for(i = 1 ; i <= n ; i++)
- {
- if (i%2 != 0)
- {
- printf("%c",c ) ;
- }
- else
- {
- printf(" ") ;
- }
- }
- printf("\n");
- return ;
- }
- void damier_caractere()
- {
- char c ;
- int n,m,i,j ;
- printf("Caractère souhaité ? ") ;
- scanf(" %c",&c) ;
- printf("Taille du damier N : ") ; //Nombre de lignes
- scanf("%d",&n) ;
- printf("Longueur du damier m : ") ; //Taille de la ligne
- scanf("%d",&m) ;
- for(i = 1 ; i <= n ; i++)
- {
- if (i%2 !=0)
- {
- caracteres_espaces_v2(m,c) ;
- }
- else
- {
- caracteres_espaces(m,c) ;
- }
- }
- printf("\n");
- return ;
- }
- //Figure 1
- void afficher_ligne(int taille)
- {
- if (taille == 0)
- {
- printf("La taille doit être un nombre positif non nul.\n");
- exit(-1) ;
- }
- int i ;
- for (i = 1 ; i <= taille ; i++)
- {
- printf("*");
- }
- printf("\n");
- return ;
- }
- void pyramide_montante(int taille)
- {
- if (taille == 0)
- {
- printf("La taille doit être un nombre positif non nul.\n");
- exit(-1) ;
- }
- int i ;
- for (i = 1 ; i <= taille ; i++)
- {
- afficher_ligne(i) ;
- }
- return ;
- }
- /* pyramide_montante(5)
- *
- **
- ***
- ****
- *****
- */
- void pyramide_descendante(int taille)
- {
- if (taille == 0)
- {
- printf("La taille doit être un nombre positif non nul.\n");
- exit(-1) ;
- }
- int i ;
- for (i = taille ; i >= 1 ; i--)
- {
- afficher_ligne(i) ;
- }
- return ;
- }
- void triangle(int taille_max)
- {
- if (taille_max == 0)
- {
- printf("La taille doit être un nombre positif non nul.\n");
- exit(-1) ;
- }
- pyramide_montante(taille_max) ;
- pyramide_descendante(taille_max-1) ;
- return ;
- }
- //Test des fonctions
- int main()
- {
- printf("Test de damier\n") ;
- damier() ;
- printf("Test de damier_caractere\n") ;
- damier_caractere() ;
- printf("Test triangle\n");
- triangle(5) ;
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement