exercice 2

Série 2

 

Enoncé :

 

Exercice 1 :

 

Déterminer le résultat final :

 

int t[4]={10,20,30,40} ;

int *ad[4] ;

int i ;

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

ad[i]=t+i ;

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

printf(“%d”,*ad[i]);

printf("\n") ;

printf(« %d%d\n,*(ad[1]+1),*ad[1]+1);

 

exercice 2 :

 

ecrire un programme qui remplir un tableau d’entiers tab et calcul la valeur maximale et minimal dans la tableau.

a-     Utiliser le formalisme pointeur

b-    Utiliser un pointeur pour parcourir le tableau

 

Correction :

 

10

20

30

40

t (adresse du 1 ère élément du tableau)

 

déclaration d’un tableau de pointeurs

 

i=0 -> ad[0]=t+i=t=&t[0]=&10

i=1 -> ad[1]=t+1=&t[1] ainsi de suite…

boucle for 2 :

i=0 -> affiche le contenu de ad[0] donc on va affiché 10

i=1 -> 20

i=2 -> 30

i=4 -> 40

remarque :

l’affichage final sera 10203040 puis on retourne à la ligne grace à  printf("\n") ;

ad[1]+1=t+1+1=t+2=&t[2] donc *(ad[1]+1)=30 (est le contenu de cette adresse).

ad[1]=&t[1] -> *ad[1]=*&t[1]=t[1]=20 donc on aura;

*ad[1]+1=20+1=21

 

Exercice 1 :

 

int t[4]={10,20,30,40} ;

int *ad[4] ;

int i ;

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

ad[i]=t+i ;

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

printf(“%d”,*ad[i]);

printf("\n") ;

printf(" %d%d\n",*(ad[1]+1),*ad[1]+1);

 

 

 

 

exercice 2 :

 

a-      

 

#include<stdio.h>

Void main()

{

int t[100];

int I,n,max,min;

do{

puts("donner la taille du tableau") ;

scanf("%d",&n) ;

}while(n<0||n>100) ;

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

{

Printf("donner l’élément %d du tableau",i) ;

Scanf("%d",&t[i]) ;

max=t[0] ;

min=t[0] ;

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

{

if(t[i]>max)

max=t[i];

if(t[i]<min)

min=t[i];

}

Printf("le max est %d",max) ;

Printf("le min est %d",min) ;

}

 

b-

 

int *p ;

p=t ;

for(p=t+1 ;p<t+n ;p++)

{

If(*p>max)

Max=*p ;

If(*p<min)

Min=*p;

}

 

è pour plus de détaille envoyer un message comportant l’exercice et le numéro de série.

Pour me contacté : mahfoudhighaieth2007@yahoo.fr

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site

×