5
Exercice 1 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; Quelles valeurs ou adresses fournissent ces expressions: a- *P+2 = 14 b- *(P+2) =34 c- &P+1 d- &A[4]-3 =&A[1] e- A+3 =&A[3] f- &A[7]-P =7 g- P+(*P-10) =34 h- *(P+*(P+8)-A[7]) =23 Exercice 2 Écrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine toutes les occurrences de X dans A en tassant les éléments restants. Le programme utilisera les pointeurs P1 et P2 pour parcourir le tableau. Exercice 3 Écrire un programme qui range les éléments d'un tableau A du type int dans l'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et une variable numérique AIDE pour la permutation des éléments. Exercice 4 Soient deux tableaux d'entiers. Ecrire un programme en C qui permet de tester l'égalité entre les deux tableaux : il rend VRAI si les composants des deux tableaux correspondent position par position, et FAUX sinon. Exercice 5 Implanter en C une méthode de recherche de l'indice de la valeur minimale d'un intervalle d'un tableau d'entiers compris entre les indices deb et fin inclus Exercice 6 Soit T un tableau de dimension N du type entier (dimensions maximales: 10 ). Remplir le tableau par des valeurs entrées au clavier et afficher le tableau. Les pointeurs en C (exercices corrigés) Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c... 1 of 5 02/12/2015 13:46

Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

Embed Size (px)

DESCRIPTION

merci

Citation preview

Page 1: Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

Exercice 1

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;

Quelles valeurs ou adresses fournissent ces expressions:

a- *P+2 = 14

b- *(P+2) =34

c- &P+1

d- &A[4]-3 =&A[1]

e- A+3 =&A[3]

f- &A[7]-P =7

g- P+(*P-10) =34

h- *(P+*(P+8)-A[7]) =23

Exercice 2

Écrire un programme qui lit un entier X et un tableau A du type int au

clavier et élimine toutes les occurrences de X dans A en tassant les

éléments restants. Le programme utilisera les pointeurs P1 et P2 pour

parcourir le tableau.

Exercice 3

Écrire un programme qui range les éléments d'un tableau A du type int

dans l'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et

une variable numérique AIDE pour la permutation des éléments.

Exercice 4

Soient deux tableaux d'entiers. Ecrire un programme en C qui permet de

tester l'égalité entre les deux tableaux : il rend VRAI si les composants des deux

tableaux correspondent position par position, et FAUX sinon.

Exercice 5

Implanter en C une méthode de recherche de l'indice de la valeur minimale

d'un intervalle d'un tableau d'entiers compris entre les indices deb et fin inclus

Exercice 6

Soit T un tableau de dimension N du type entier (dimensions maximales: 10 ).

Remplir le tableau par des valeurs entrées au clavier et afficher le tableau.

Les pointeurs en C (exercices corrigés)

Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

1 of 5 02/12/2015 13:46

Page 2: Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

Donner un code pour Trier les données de T a l aide du pointeur.

corrigés :

Exercice 1:

Exercice2 :

#include<stdio.h>

#include<conio.h>

main()

{ int *p1,*p2,j;

int x,t[10],n;

p1=t;

printf("donner la dimension du tableau");

scanf("%d",&n);

for(p1=t;p1<t+n;p1++)

{ printf("donner la valeur de t[%d]",p1-t);

scanf("%d",p1);}

printf("dooner la valeur");

scanf("%d",&x);

j=0;

p1=t;

for(p1=t;p1<t+n;p1++)

{ if(*p1==x)

{ for(p2=p1;p2<t+n;p2++)

{ if(*p2!=x)

{ *p1=*p2;

*p2=x;

p2=t+n-1;

j=j+1;

}

Exercice 3:

#include<stdio.h>

#include<conio.h>

main()

{int t[10],*p1,*p2,n,aide,i;

printf("donnez la dimension du tab");

scanf("%d",&n);

p1=t;

for(i=0;i<n;i++)

{printf("donnez les valeurs t[%d]=",i);

scanf("%d",p1+i);}

p2=t+n-1;

while (p1<p2)

{aide=*p1;

*p1=*p2;

*p2=aide;

p1++;

p2--;}

for(i=0;i<n;i++)

Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

2 of 5 02/12/2015 13:46

Page 3: Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

printf("t[%d]=%d",i,t[i]);

getch();

}

Exercice 4:

#include<stdio.h>

#include<conio.h>

#include<string.h>

main()

{int t1[10],t2[10],*p,*k,a;

char e[10];

p=t1;

printf("donnez la dimension du tab");

scanf("%d",&a);

for(p=t1;p<t1+a;p++)

{printf("donnez les valeurs t1[%d]=",p-t1+1);

scanf("%d",p);

}p=t2;

for(p=t2;p<t2+a;p++)

{printf("donnez les valeurs t2[%d]=",p-t2+1);

scanf("%d",p);

}

for(p=t1,k=t2;p<t1+a,k<t2+a;p++,k++)

{if(*p!=*k)

{strcpy(e,"faux");

break; }

else

{strcpy(e,"vrai");}

}

printf("%s",e);

Exercice 5:

#include<stdio.h>

#include<conio.h>

main()

{int t[10],*p,deb,fin,val,a,b;

p=t;

printf("donnez la dimension du tab");

scanf("%d",&a);

for(p=t;p<t+a;p++)

{printf("donnez les valeurs t[%d]=",p-t+1);

scanf("%d",p);}

printf("donnez le début");

scanf("%d",&deb);

printf("donnez la fin");

scanf("%d",&fin);

Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

3 of 5 02/12/2015 13:46

Page 4: Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

printf("donnez la valeur à rechercher");

scanf("%d",&val);

for(p=t+deb;p<=t+fin;p++)

{if(*p=val)

{b=p-t+deb;

}}

printf( "la position %d",b);

getch();

}

Exercice 6666:

#include<stdio.h>

#include<conio.h>

main()

{int t[10],aide,*p,*k,a;

p=&t[0];

printf("donnez la dimension du tableau \n");

scanf("%d",&a);

for(p=t;p<t+a;p++)

{ printf("donner la valeuer de t[%d]=",p-t+1);

scanf("%d",p);}

printf ("le tableau est :\n");

for(p=t;p<t+a;p++)

{for(k=p+1;k<t+a;k++)

{if(*p>*k)

{aide=*p;

*p=*k;

*k=aide;

}}}

for(p=t;p<t+a;p++)

{ printf("%d\t",*p);

}getch();}

Posted 23rd January 2013 by Albertt tt

Comment as:

Publish

0 Add a comment

Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

4 of 5 02/12/2015 13:46

Page 5: Les Pointeurs en C (Exercices Corrigés) _ Learn Programming

Comment as:

Publish

Les pointeurs en C (exercices corrigés) | Learn programming http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

5 of 5 02/12/2015 13:46