#include<stdio.h>
#define LONG 100
int afegirvalor(float *,int);
void borrarvalor(float *);
void modificarvalor(float *);
void mostrarvalor(float *,int);
int mitjaaritmetica(float *,int,float);
void valorspersobre(float *,int,float);
void maximiminin(float *,int);
int mostrarmenu();
int main()
{
int fin=0;
int op,i=0,mitjana=0;
float vector[LONG];
do
{
op = mostrarmenu();
switch(op)
{
case 1:
i=afegirvalor(vector,i);
break;
case 2:
borrarvalor(vector);
break;
case 3:
modificarvalor(vector);
break;
case 4:
mostrarvalor(vector,i);
break;
case 5:
mitjana=mitjaaritmetica(vector,i,mitjana);
break;
case 6:
valorspersobre(vector,i,mitjana);
break;
case 7:
maximiminin(vector,i);
break;
case 8:
fin=1;
break;
default:
printf("Opcio incorrecte n");
}
if (!fin)
{
printf("nn");
getchar();
getchar();
}
}while(!fin);
}
int mostrarmenu ()
{
int op;
printf("Programa de estadisticas: n");
printf("n");
printf("n");
printf("1) Afegir un valor: n");
printf("2) Esborrar un valor: n");
printf("3) Modificar un valor existent: n");
printf("4) Mostrar tots el valors: n");
printf("5) Mitja aritmetica: n");
printf("6) Valors per sobre la mitja aritmetica: n");
printf("7) Maxim y minin: n");
printf("8) Salir n");
do
{
printf("Escull una opcio: ");
scanf("%d", &op);
if ((op != 1) && (op !=2) && (op != 3) && (op != 4) && (op != 5) && (op != 6) && (op != 7) && (op != 8))
{
printf("Opcio incorrecte n");
}
}while (op < 1 || op > 8);
return op;
}
int afegirvalor(float *vector,int i)
{
if (i<100)
{
printf("Introdueix un numero: n");
scanf("%f", &vector[i]);
i++;
}
else
{
printf("Ya has posat el maxim de numeros posible. n");
}
return i;
}
void borrarvalor(float *vector)
{
int pos=0;
printf("Quina posicio vols borrar [0-99]: n");
scanf("%d", &pos);
vector[pos]=0;
printf("El numero en la posicio %d a sigut esborrat correctament n",pos);
}
void modificarvalor(float *vector)
{
int pos;
float num;
printf("Quina posicio vols modificar [0-99]: n");
scanf("%d", &pos);
printf("Indica el numero que vols posar: n");
scanf("%f", &num);
vector[pos]=num;
printf("El numero ha sigut modificat correctament. n");
}
void mostrarvalor(float *vector, int i)
{
int j;
printf("Els numeros son:");
for (j=0; j<i;j++)
{
printf("%0.2f,",vector[j]);
}
}
int mitjaaritmetica(float *vector, int i, float mitjana)
{
int j;
float sum=0;
for (j=0; j<i;j++)
{
sum=sum+vector[j];
}
mitjana=sum/j;
printf("La mitjana dels numeros es: %0.2f n",mitjana);
return mitjana;
}
void valorspersobre(float *vector,int i,float mitjana)
{
int j;
printf("El valors per sobre la mitja aritmetica son: ");
for (j=0;j<i;j++)
{
if (mitjana<vector[j])
{
printf("%0.2f,",vector[j]);
}
}
}
void maximiminin(float *vector,int i)
{
int j;
float max=vector[j],min=vector[j];
for (j=0;j<i;j++)
{
if (vector[j]>max)
{
max=vector[j];
}
else if (vector[j]<max)
{
min=vector[j];
}
}
printf("El numero mes petit es: %0.2f n",min);
printf("El numero mes gran es: %0.2f n",max);
}