From 93f98c6bd47c231b5f6886771dc08cb815458054 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Sat, 12 Sep 2020 18:34:08 +0200 Subject: [PATCH] Added td5 --- td5/cestpartitd.cbp | 48 +++++++ td5/cestpartitd.depend | 12 ++ td5/cestpartitd.layout | 20 +++ td5/exo3.c | 63 +++++++++ td5/exo4.c | 77 +++++++++++ td5/exos_correc.c | 306 +++++++++++++++++++++++++++++++++++++++++ td5/main.c | 1 + 7 files changed, 527 insertions(+) create mode 100755 td5/cestpartitd.cbp create mode 100755 td5/cestpartitd.depend create mode 100755 td5/cestpartitd.layout create mode 100755 td5/exo3.c create mode 100755 td5/exo4.c create mode 100755 td5/exos_correc.c create mode 100755 td5/main.c diff --git a/td5/cestpartitd.cbp b/td5/cestpartitd.cbp new file mode 100755 index 0000000..8571d72 --- /dev/null +++ b/td5/cestpartitd.cbp @@ -0,0 +1,48 @@ + + + + + + diff --git a/td5/cestpartitd.depend b/td5/cestpartitd.depend new file mode 100755 index 0000000..ab9ddc4 --- /dev/null +++ b/td5/cestpartitd.depend @@ -0,0 +1,12 @@ +# depslib dependency file v1.0 +1605281467 source:c:\users\alzyohan\desktop\td5\cestpartitd\main.c + + +1605278983 source:c:\users\alzyohan\desktop\td5\cestpartitd\exo3.c + + +1605281487 source:c:\users\alzyohan\desktop\td5\cestpartitd\exo4.c + +1605281606 source:c:\users\alzyohan\desktop\cours en cours\info\td5\cestpartitd\exo4.c + + diff --git a/td5/cestpartitd.layout b/td5/cestpartitd.layout new file mode 100755 index 0000000..c5d71b4 --- /dev/null +++ b/td5/cestpartitd.layout @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/td5/exo3.c b/td5/exo3.c new file mode 100755 index 0000000..471d11e --- /dev/null +++ b/td5/exo3.c @@ -0,0 +1,63 @@ +#include +int trouve_min(int N, int tab_entier[]); +int trouve_maxi(int N, int tab_entier[]); +void trouve_min_max(int N, int tab_entier[],int* mini,int* maxi); + +int exo3(void) +{ + int i, taille=0; + int mini, maxi; + do + { + printf("Entrer la taille du tableau : "); + scanf("%d",&taille); + }while(taille<1); + + int tab[taille]; + + for(i=0; i maxi) + { + maxi = tab_entier[i]; + } + } + + return maxi; +} + +int trouve_min(int N, int tab_entier[]) +{ + int mini=tab_entier[0], i; + for (i=1; i +void select(int* tableau); +int compter_zero(int tableau[]); +int compter_un(int tableau[]); +void compter_N(int tableau[]); + +int exo4(void) +{ + int tab[10]; + select(&tab[0]); + //zero=compter_zero(&tab[0]); + //printf("Il y a %d zeros dans le tableau",zero); + compter_N(tab); // tab ou &tab[0] donnent la même chose. + return 0; +} + +void select(int* tableau) +{ + int i; + for(i=0; i<10; i++) + { + do + { + printf("\nEntrez 10 nombres :"); + scanf("%d",&tableau[i]); + } + while(tableau[i]< -5 || tableau[i]> 5); + }; +} + +int compter_zero(int tableau[]) +{ + int i; + int nbr = 0; + for(i=0; i<10; i++) + { + if(tableau[i]==0) + { + nbr = nbr+1; + }; + }; + return nbr; +} + +int compter_un(int tableau[]) +{ + int i; + int nbr = 0; + for(i=0; i<10; i++) + { + if(tableau[i]==1 || tableau[i]==-1) + { + nbr = nbr+1; + }; + }; + return nbr; +} + +void compter_N(int tableau[]) +{ + int i; + int nbr = 0; + int x; + for(x=0; x<=5; x++) + { + for(i=0; i<10; i++) + { + if(tableau[i]==x || tableau[i]==-x) + { + nbr = nbr+1; + }; + }; + printf("\nIl y a %d [%d,-%d]",nbr,x,x); + nbr=0; + }; +} + diff --git a/td5/exos_correc.c b/td5/exos_correc.c new file mode 100755 index 0000000..75273a6 --- /dev/null +++ b/td5/exos_correc.c @@ -0,0 +1,306 @@ +#include +#include + + +// INTRODUCTION +/* +int main() +{ + int N; + printf("Entrer la taille du tableau\n"); + scanf("%d",&N); + + int tableau_entiers[N]; + + int i; + + for(i=0;i<=(N-1);i++) + { + tableau_entiers[i] = 2*i +4 ; + } + + + for(i=0;i<=(N-1);i++) + { + printf("\n\n tableau[%d] vaut %d et est a l'adresse %p", i, tableau_entiers[i], &tableau_entiers[i] ); + //printf("\n*(tableau+%d) vaut %d et est a l'adresse %p", i, *(tableau_entiers+i), tableau_entiers+i ); + // tableau_entiers se comporte comme un pointeur qui vaudrait &tableau_entiers[0] + } + + + char tableau_caracteres[N]; + + for(i=0;i<=(N-1);i++) + { + tableau_caracteres[i] = 'a' + i ; + } + + + + printf("\n**** Meme chose avec des caracteres **** \n"); + for(i=0;i<=(N-1);i++) + { + printf("\n\n tableau[%d] vaut %c et est a l'adresse %p", i, tableau_caracteres[i], &tableau_caracteres[i] ); + printf("\n*(tableau+%d) vaut %c et est a l'adresse %p", i, *(tableau_caracteres+i), tableau_caracteres+i ); + } + return 0; +} +*/ + +// EXO 1 +/* +# define MAX_TAB 5 + +int main(void) +{ + int tab[3]; + int tab2[MAX_TAB] = {56,4,8}; + char tab3[1]; + char tab4[]= {'S','O','S'}; + + tab[0] = 1; + tab[1] = 9; + tab[2] = tab[1]*3; + + printf("tab2[0] = %d\n", tab2[0]); + + tab2[1] = tab2[2]/tab2[1]; + printf("tab2[1] = %d\n", tab2[1]); + + tab3[0] = 'K'; + + tab4[2] = tab3[0]+1; + printf("tab4[2] = %c\n", tab4[2]); + + return 0; +} +*/ + +// EXO 2 +/* +int main() +{ + int N=26; + char alphabet[N]; + + int i; + for(i=0;i<=(N-1);i++) + { + alphabet[i] = 'A' + i ; + } + + for(i=0;i<=(N-1);i++) + { + printf("\n\n alphabet[%d] vaut %c et est a l'adresse %p", i, alphabet[i], &alphabet[i] ); + //printf("\n*(tableau+%d) vaut %c et est a l'adresse %p", i, *(tableau_caracteres+i), tableau_caracteres+i ); + } + return 0; +} +*/ + + +// EXO 3 +/* +int trouve_min(int N, int tab_entier[]); // int trouve_min(int N, int* tab_entier); +int trouve_max(int N, int tab_entier[]); +void trouve_min_max(int N, int tab_entier[], int* p_mini, int* p_maxi); + +int main(void) +{ + int i, taille; + int mini, maxi; + + do + { + printf("Entrer la taille du tableau : "); + scanf("%d",&taille); + } + while(taille<1); + + int tab[taille]; + + // note sur comment avoir l'adresse du premier elmt d'un tableau + // question 3 dans le poly + printf("\ntab = %p est aussi &tab[0] = %p, &tab = %p\n\n",tab,&tab[0],&tab); + + + for(i=0; i maxi) + { + maxi = tab_entier[i] ; + } + } + + return maxi; +} + +// question 6 +void trouve_min_max(int N, int tab_entier[], int* p_mini, int* p_maxi) +{ + *p_mini = trouve_min(N, &tab_entier[0]); + *p_maxi = trouve_max(N, &tab_entier[0]); +} +*/ + + +// EXO 4 +/* +void saisie_tableau(int taille, int tableau_int[]); + // int* pointeur_tableau + +int compter_X(int X, int taille, int tableau_int[]); +void comter_plus_ou_moins_X(int X, int taille, int tableau_int[], int* p_nb_X, int* p_nb_moinsX ); + +int main() +{ + int N = 10; + int tableau[N]; + + // saisie du tableau + saisie_tableau(N,&tableau[0]); + // void saisie_tableau(int taille, int tableau_int[]); + //juste pour valider la saisie + //int i; + //for(i=0;i 5 ); + //( !(tableau_int[i]>=-5 && tableau_int[i]<=5) ) + } +} + +int compter_X(int X, int taille, int tableau_int[]) +{ + int i; + int compteur = 0; + + for(i=0;i