#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