Les Pointeurs en C (Exercices Corrigés) - Learn Programming
Les Pointeurs en C (Exercices Corrigés) - Learn Programming
Les Pointeurs en C (Exercices Corrigés) - Learn Programming
1 of 5
http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...
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
lments restants. Le programme utilisera les pointeurs P1 et P2 pour
parcourir le tableau.
Exercice 3
crire un programme qui range les lments d'un tableau A du type int
dans l'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et
une variable numrique AIDE pour la permutation des lments.
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 mthode 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 entres au clavier et afficher le tableau.
02/12/2015 13:46
2 of 5
http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...
corrigs :
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++)
02/12/2015 13:46
3 of 5
http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...
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 dbut");
scanf("%d",&deb);
printf("donnez la fin");
scanf("%d",&fin);
02/12/2015 13:46
4 of 5
http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...
Exercice 6:
#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();}
Add a comment
Comment as:
Publish
02/12/2015 13:46
5 of 5
http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...
Comment as:
Publish
02/12/2015 13:46