1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| #include<stdio.h>
#include<stdlib.h>
int lecture(int tab[])
{
int nb;
int tabtemp;
nb=0;
do
{
printf("Nombre : ");
scanf("%d",&tabtemp);
if (tabtemp>10)
{
if(tabtemp<100)
{
nb++;
tab[nb]=tabtemp;
}
}
}
while (tabtemp!=-1);
return nb;
}
void minposmin(int tab[],int nb,int *min,int *posmin)
{
int i;
for(i=1;i<=nb;i++)
{
if (tab[i]<*min)
{
*min=tab[i];
*posmin=i;
}
}
return;
}
void maxoccmax(int tab[],int nb,int *max,int *occmax)
{
int i;
for(i=1;i<=nb;i++)
{
if(tab[i] == *max)
*occmax++;
else if(tab[i] > *max)
{
*max = tab[i];
}
}
return;
}
void affichage(int tab[],int nb,int min, int posmin, int max, int occmax)
{
int i;
printf("le vecteur entre est\n:");
for(i=1;i<=nb;i++)
{
printf(" %d ",tab[i]);
}
printf("le minimum est %d et sa premiere apparition se trouve en %d position\n",min,posmin);
printf("le maximum est %d et est atteint %d fois\n",max,occmax);
return;
}
int main()
{
int i;
int tab[30];
int nb;
int posmin;
int occmax;
int min;
int max;
for (i=1;i<=29;i++)
{
tab[i]=0;
}
nb=lecture(tab);
min=tab[1];
posmin=1;
minposmin(tab,nb,&min,&posmin);
max=tab[1];
occmax=0;
maxoccmax(tab,nb,&max,&occmax);
affichage(tab,nb,min,posmin,max,occmax);
system("pause");
} |
Partager