#include<stdio.h>
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.100) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>100);
return n;
}
void generer(int T[],int n)
{
int i;
for(i=1;i<=n;i++)
{T[i]=rand()%100+1;}
}
int indice_min(int T[],int n)
{
int i,imin=1;
for(i=2;i<=n;i++)
{
if(T[i]<T[imin])
imin=i;
}
return imin;
}
float moyenne (int T[],int n)
{
int i;
float som,moy;
som=0;
for(i=1;i<=n;i++)
som=som+T[i];
moy=som/n;
return moy;
}
int nbsup(int T[],int n)
{
int i,nb;
float j;
j= moyenne(T,n);
nb=0;
for(i=1;i<=n;i++)
if(T[i]>j)
nb++;
return nb;
}
void inverse_tab(int T[],int n)
{
int i;
int aide;
for(i=1;i<=n/2;i++)
{
aide=T[i];
T[i]=T[n-i+1];
T[n-i+1]=aide;
}
}
int recherche(int T[],int n,int val)
{
int i,pos;
pos=0;
for(i=1;(i<=n)&&(pos==0);i++)
{
if(T[i]==val)
pos=i;
}
return pos;
}
void suprimer(int T[],int *n,int val)
{
int i,j;
j=recherche(T,*n,val);
if(j=!0)
{
for(i=j;i<=*n;i++)
{
T[i]=T[i+1];
}
(*n)--;
}
}
void ajouter(int T[],int *n,int val,int pos)
{
int j;
for(j=*n;j>pos;j--)
{ T[j+1]=T[j];
T[pos]=val;}
(*n)++;
}
void afficher (int T[],int n)
{
int i;
for(i=1;i<=n;i++)
printf("T[%d]=%d \n",i,T[i]);
printf("\n");
}
void menu(int T[],int n)
{
int choix;
do
{
printf("|1 | : lire la taille du tableau\n");
printf("|2 | : generer les elements du tableau \n");
printf("|3 | : calculer l'indice du minimum du tableau \n");
printf("|4 | : calculer le nombre des valeurs supperieur a la moyenne \n");
printf("|5 | : inverser le tableau \n");
printf("|6 | : rechercher un element dans le tableau \n");
printf("|7 | : supprimer un element dans le tableau \n");
printf("|8 | : ajouter un element dans le tableau \n");
printf("|9 | : afficher le tableau \n");
printf("|10| : quitter \n\n");
printf("donner votre choix : ");
scanf("%d",&choix);
printf("\n\n");
switch(choix)
{
case 1: n=lire(n);break;
case 2: generer(T,n);break;
case 3: printf("indice min = %d \n\n",indice_min(T,n));break;
case 4: printf("nbre d'elements > la moyenne est :%d \n\n",nbsup(T,n));break;
case 5: inverse_tab(T,n);break;
case 6: int val,pos;
printf("donner la val a rechercher :");
scanf("%d",&val);
pos=recherche(T,n,val);
if(pos==0)
printf("valeur inexistante \n\n");
else
printf("la valeur se trouve a la position : %d \n\n",pos);
;break;
case 7: printf("valeur a supprimer :");
scanf("%d",&val);
pos=recherche(T,n,val);
if(pos==0)
printf("valeur inexistante \n\n");
else
suprimer(T,&n,val);break;
case 8: printf("valeur a ajouter");
scanf("%d",&val);
do
{
printf("donner la position :");
scanf("%d",&pos);
}
while(pos<1 || pos>n);
ajouter(T,&n,val,pos);break;
case 9: afficher(T,n);break;
}
} while(choix <10);
}
main()
{
int T[100];
int n;
menu(T,n);
system("pause");
return 0;
}
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.100) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>100);
return n;
}
void generer(int T[],int n)
{
int i;
for(i=1;i<=n;i++)
{T[i]=rand()%100+1;}
}
int indice_min(int T[],int n)
{
int i,imin=1;
for(i=2;i<=n;i++)
{
if(T[i]<T[imin])
imin=i;
}
return imin;
}
float moyenne (int T[],int n)
{
int i;
float som,moy;
som=0;
for(i=1;i<=n;i++)
som=som+T[i];
moy=som/n;
return moy;
}
int nbsup(int T[],int n)
{
int i,nb;
float j;
j= moyenne(T,n);
nb=0;
for(i=1;i<=n;i++)
if(T[i]>j)
nb++;
return nb;
}
void inverse_tab(int T[],int n)
{
int i;
int aide;
for(i=1;i<=n/2;i++)
{
aide=T[i];
T[i]=T[n-i+1];
T[n-i+1]=aide;
}
}
int recherche(int T[],int n,int val)
{
int i,pos;
pos=0;
for(i=1;(i<=n)&&(pos==0);i++)
{
if(T[i]==val)
pos=i;
}
return pos;
}
void suprimer(int T[],int *n,int val)
{
int i,j;
j=recherche(T,*n,val);
if(j=!0)
{
for(i=j;i<=*n;i++)
{
T[i]=T[i+1];
}
(*n)--;
}
}
void ajouter(int T[],int *n,int val,int pos)
{
int j;
for(j=*n;j>pos;j--)
{ T[j+1]=T[j];
T[pos]=val;}
(*n)++;
}
void afficher (int T[],int n)
{
int i;
for(i=1;i<=n;i++)
printf("T[%d]=%d \n",i,T[i]);
printf("\n");
}
void menu(int T[],int n)
{
int choix;
do
{
printf("|1 | : lire la taille du tableau\n");
printf("|2 | : generer les elements du tableau \n");
printf("|3 | : calculer l'indice du minimum du tableau \n");
printf("|4 | : calculer le nombre des valeurs supperieur a la moyenne \n");
printf("|5 | : inverser le tableau \n");
printf("|6 | : rechercher un element dans le tableau \n");
printf("|7 | : supprimer un element dans le tableau \n");
printf("|8 | : ajouter un element dans le tableau \n");
printf("|9 | : afficher le tableau \n");
printf("|10| : quitter \n\n");
printf("donner votre choix : ");
scanf("%d",&choix);
printf("\n\n");
switch(choix)
{
case 1: n=lire(n);break;
case 2: generer(T,n);break;
case 3: printf("indice min = %d \n\n",indice_min(T,n));break;
case 4: printf("nbre d'elements > la moyenne est :%d \n\n",nbsup(T,n));break;
case 5: inverse_tab(T,n);break;
case 6: int val,pos;
printf("donner la val a rechercher :");
scanf("%d",&val);
pos=recherche(T,n,val);
if(pos==0)
printf("valeur inexistante \n\n");
else
printf("la valeur se trouve a la position : %d \n\n",pos);
;break;
case 7: printf("valeur a supprimer :");
scanf("%d",&val);
pos=recherche(T,n,val);
if(pos==0)
printf("valeur inexistante \n\n");
else
suprimer(T,&n,val);break;
case 8: printf("valeur a ajouter");
scanf("%d",&val);
do
{
printf("donner la position :");
scanf("%d",&pos);
}
while(pos<1 || pos>n);
ajouter(T,&n,val,pos);break;
case 9: afficher(T,n);break;
}
} while(choix <10);
}
main()
{
int T[100];
int n;
menu(T,n);
system("pause");
return 0;
}