130 likes | 233 Views
Correction du TP 1. Les 3 premiers exercices…. Exercice 1. Faites un programme qui demande à l’utilisateur de saisir les valeurs d’un tableau (la taille du tableau est aussi saisie par l’utilisateur) puis qui les affiche à l’écran. Pensez à libérer la mémoire. 3 choses importantes….
E N D
Correction du TP 1 Les 3 premiers exercices…
Exercice 1 • Faites un programme qui demande à l’utilisateur de saisir les valeurs d’un tableau (la taille du tableau est aussi saisie par l’utilisateur) puis qui les affiche à l’écran. Pensez à libérer la mémoire. • 3 choses importantes…
Exercice 1 • Saisir la taille du tableau • C’est demander à l’utilisateur un nombre… • Pas de nombre à virgules !!! • Case numéro 1.5??? • int, short… • Créer le tableau avec la taille voulue • Déclarer un pointeur • Faire un new pour créer les n cases
Finalement 4AC0 4ABF 4ABE void main(){ intnbCases; int *tableau; cin>>nbCases; tableau=new int[nbCases]; for(int i=0;i<nbCases;i++) { cin>>tableau[i]; }; for(int i=0;i<nbCases;i++) { cout<<tableau[i]<<" "; }; } Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 2 • Faites un programme qui demande à l’utilisateur de saisir deux tableaux A et B (la taille des tableaux est aussi saisie par l’utilisateur) et qui met dans un tableau C les éléments de B puis ceux de A.
Exercice 2 • Principe identique mais • Le troisième tableau est créé ainsi : • Tab3=new int[taille1+taille2]; • La copie se fait en deux étapes : for(int i=0;i<taille1;i++){ tab3[i]=tab1[i]; } for(int j=0;j<taille2;j++){ tab3[taille1+j]=tab2[j]; }
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; a) *P+2 Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; b) *(P+2) Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; d) &A[4]-3 Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; e) A+3 Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; f) &A[7]-P Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; g) P+(*P-10) Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4
Exercice 3 4AC0 4ABF 4ABE • Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; P = A; h) *(P+*(P+8)-A[7]) Tas 23AA 23A9 23A8 23A7 BSS 23A6 F3DE 23A5 Prog 0F4D 23A4