Vous êtes sur la page 1sur 8

Exercice 1

#include <stdio.h>
main()
{
int tab[10] = {1, 2, 11, 4, 19, 12, 10, 13, 1,10};
int *p;
p = tab;
printf("tab[10] = {1, 2, 11, 4, 19, 12, 10, 13, 1,10} \n");
printf("%d\n", *p*2 ); //2
printf("%d\n", *tab*2 );//2
printf("%d\n",*(p+4)-3);//16
printf("%d\n",*(tab+4)-3);//16
printf("%d\n",*(p+7)+*(p+5));//25
printf("%d\n",*(tab+7)+*(tab+5));//25
printf("%d\n",*p*(tab[1]+*tab));//3
printf("%d\n",*tab*(tab[1]+*tab));//3
printf("%d\n",*p++-1);//0
printf("%d\n",*(&*p)*4);//8
printf("%d\n",*(&*tab)*4);//4
}

Exercice 2
#include <stdio.h>
#define N 50
#define M 50
main()
{
/* Déclarations */
int A[N], B[M], C[N+M]; /* tableaux */
int i; /* indice courant */
int n,m;
do{
printf("donner la dim du tableau A \n");
scanf("%d",&n);
}while(n<1 || n>50);
do{
printf("donner la dim du tableau B \n");
scanf("%d",&m);
}while(m<1 || m>50);
/* Saisie des tableaux */
for (i=0; i<n; i++)
{
printf("A[%d]= \n ", i);
scanf("%d", A+i);
}
for (i=0; i<m; i++)
{printf("B[%d]= \n ", i);
scanf("%d", B+i);
}
/* Affichage des tableaux */
printf("Tableau A :\n");
for (i=0; i<n; i++)
{printf("%d \t", *(A+i));}
printf("\n");
printf("Tableau B :\n");
for (i=0; i<m; i++)
{printf("%d \t", *(B+i));}
printf("\n");
/* Copie de A dans C */
for (i=0; i<n; i++)
*(C+i)=*(A+i);
/* Copie de B Dans C */
for (i=0; i<m; i++)
*(C+n+i) = *(B+i);
/* Edition du résultat */
printf("Tableau résultat A :\n");
for (i=0; i<n+m; i++)
printf("%d ", *(C+i));
printf("\n");
}

Exercice 3
#include<stdio.h>
#define N 50
main()
{int t[N],*p1,*p2,X,i;
int n;
do{
printf("donner la dim du tableau t \n");
scanf("%d",&n);
}while(n<1 || n>50);

for(i=0;i<n;i++)
{
printf("t[%d]= \n",i);
scanf("%d",t+i);
}
p1=t;
p2=t+n-1;
while (p1<p2)
{
X=*p1;
*p1=*p2;
*p2=X;
p1++;
p2--;
}
for(i=0;i<n;i++)
printf("t[%d]=%d ",i,t[i]);
}

Exercice 4
//version 1
#include<stdio.h>
#define N 50
main()
{
int t[N],*p1,*p2,i;
int n;
do{
printf("donner la dim du tableau t \n");
scanf("%d",&n);
}while(n<1 || n>50);

for(i=0;i<n;i++)
{
printf("t[%d]= \n",i);
scanf("%d",t+i);
}
p1=t;
p2=t+n-1;
while (p1<p2)
{
if(*p1!=*p2)
break;
p1++;
p2--;
}
if(p2>p1)
printf("tableau non symetrique \n");
else
printf("tableau symetrique \n");
}

//version 2
#include<stdio.h>
#include<stdlib.h>
main()
{
int *t=NULL,*p1,*p2,i;
int n;
do{
printf("donner la dim du tableau t \n");
scanf("%d",&n);
}while(n<1);

t=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
printf("t[%d]= \n",i);
scanf("%d",t+i);
}
p1=t;
p2=t+n-1;
while (p1<p2)
{
if(*p1!=*p2)
break;
p1++;
p2--;
}
if(p2>p1)
printf("tableau non symetrique \n");
else
printf("tableau symetrique \n");
free(t) ;
}

Exercice 5
//version 1
#include<stdio.h>
#define N 100
main()
{
int t[N];
int n,i,max,min;
do{
printf("donner le nombre des entiers à saisir");
scanf("%d",&n);
}while(n>100||n<1);
for(i=0;i<n;i++)
{
do{
printf("donnez la valeur %d= \n",i);
scanf("%d",t+i);
}while(*(t+i)<=0);
}
max=*t;
min=*t;
for(i=1;i<n;i++)
{
if (*(t+i)>max)
max=*(t+i);
else if (*(t+i)<min)
min=*(t+i);
}
printf("min= %d max= %d",min,max);
}

//version 2
#include<stdio.h>
#include <stdlib.h>
main()
{
int* t = NULL; // Ce pointeur va servir de tableau après l'appel du malloc
int n,i,max,min;
do{
printf("donner le nombre des entiers à saisir");
scanf("%d",&n);
}while(n<1);
//allocation dynamique
t= (int*)malloc(n * sizeof(int));
for(i=0;i<n;i++)
{
do{
printf("donnez la valeur %d= \n",i);
scanf("%d",t+i);
}while(*(t+i)<=0);
}
max=*t;
min=*t;
for(i=1;i<n;i++)
{
if (*(t+i)>max)
max=*(t+i);
else if (*(t+i)<min)
min=*(t+i);
}
printf("min= %d max= %d",min,max);
free(t);
}

Vous aimerez peut-être aussi