Vous êtes sur la page 1sur 5

Les pointeurs en C (exercices corrigs) | Learn programming

1 of 5

http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

Les pointeurs en C (exercices corrigs)

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

Les pointeurs en C (exercices corrigs) | Learn programming

2 of 5

http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

Donner un code pour Trier les donnes de T a l aide du pointeur.

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

Les pointeurs en C (exercices corrigs) | Learn programming

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

Les pointeurs en C (exercices corrigs) | Learn programming

4 of 5

http://get-iit-easy.blogspot.com/2013/01/les-pointeurs-en-c-exercices-c...

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 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();}

Posted 23rd January 2013 by Albertt tt


0

Add a comment

Comment as:

Publish

02/12/2015 13:46

Les pointeurs en C (exercices corrigs) | Learn programming

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