Correction du TP 1 Les 3 premiers exercices

  • Slides: 13
Download presentation
Correction du TP 1 Les 3 premiers exercices…

Correction du TP 1 Les 3 premiers exercices…

Exercice 1 �Faites un programme qui demande à l’utilisateur de saisir les valeurs d’un

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

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

4 AC 0 Finalement void main(){ int nb. Cases; int *tableau; cin>>nb. Cases; tableau=new

4 AC 0 Finalement void main(){ int nb. Cases; int *tableau; cin>>nb. Cases; tableau=new int[nb. Cases]; for(int i=0; i<nb. Cases; i++) { cin>>tableau[i]; }; for(int i=0; i<nb. Cases; i++) { cout<<tableau[i]<<" "; }; } 4 ABF 4 ABE Tas 23 AA 23 A 9 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 4

Exercice 2 �Faites un programme qui demande à l’utilisateur de saisir deux tableaux A

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 : � Tab

Exercice 2 �Principe identique mais �Le troisième tableau est créé ainsi : � Tab 3=new int[taille 1+taille 2]; �La copie se fait en deux étapes : for(int i=0; i<taille 1; i++){ tab 3[i]=tab 1[i]; } for(int j=0; j<taille 2; j++){ tab 3[taille 1+j]=tab 2[j]; }

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 a) *P+2 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 7

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 b) *(P+2) 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 8

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 d) &A[4]-3 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 9

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 e) A+3 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 10

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 f) &A[7]-P 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 11

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 g) P+(*P-10) 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 12

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui

4 AC 0 Exercice 3 4 ABF 4 ABE �Soit P un pointeur qui 'pointe' sur un tableau A: int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90}; int *P; 23 AA P = A; Tas 23 A 9 h) *(P+8)-A[7]) 23 A 8 23 A 7 BSS 23 A 6 23 A 5 F 3 DE 23 A 4 0 F 4 D Prog 13