Necesito hacer lo siguiente: cuando se elige la opción 4 del menu, el programa debe hacer un recorrido de la matriz (creo que es un recorrido) y comprobar si existen valores en la primera columna que sean superiores a 1, en la segunda columna que sean superiores a 0.2 y en la tercera columna que sean superiores a 0.02. Si encuentra estos valores aparecera un mensaje que indica que hay al menos un valor anomalo, de lo contrario, aparecerá un mensaje indicando que los valores que has introducido son correctos.
Si alguien me pudiera echar un cable estaría muy agradecida. Muchas gracias de antemano por vuestra ayuda y por vuestro tiempo! ^^
Código
#include <conio.h> #include <math.h> #include <stdio.h> #include <stdlib.h> #define NUMPIPETAS 3 #define MAXMEDICIONES 5 void leerMediciones(int m[NUMPIPETAS][MAXMEDICIONES]); void imprimirMediciones(int m[NUMPIPETAS][MAXMEDICIONES]); void calcularPromedio (int m[NUMPIPETAS][MAXMEDICIONES]); void calcularDesviacionTipica(int m[NUMPIPETAS][MAXMEDICIONES]); void calcularErrorAleatorio(int m[NUMPIPETAS][MAXMEDICIONES]); void buscarAnomalos(int m[NUMPIPETAS][MAXMEDICIONES]); void main(){ int matriz[NUMPIPETAS][MAXMEDICIONES]; int m[NUMPIPETAS][MAXMEDICIONES], sumaColumnas[NUMPIPETAS]; float x[15]; int opc=0; char choice; do { leerMediciones(m); switch(opc) { case 1: leerMediciones(matriz); break; case 2: imprimirMediciones(matriz); break; case 3: calcularPromedio (matriz); calcularDesviacionTipica(matriz); calcularErrorAleatorio(matriz); break; case 4: buscarAnomalos(matriz); break; } }while(choice !=4); imprimirMatriz(matriz); } void leerMediciones(int m[NUMPIPETAS][MAXMEDICIONES]){ int i,j; printf("Introduzca los elementos de la matriz %dx%d\n",NUMPIPETAS,MAXMEDICIONES);//deberia poner aqui i y j en vez de numpipetas y maxmediciones?? for(i=0;i<NUMPIPETAS;i++){ for(j=0;j<MAXMEDICIONES;j++){ } } } void imprimirMediciones(int m[NUMPIPETAS][MAXMEDICIONES]){ int i,j; for(i=0;i<NUMPIPETAS;i++){ for(j=0;j<MAXMEDICIONES;j++){ } } } void calcularPromedio (int m[NUMPIPETAS][MAXMEDICIONES]){ int i,j; float sumaTotal, sumaColumnas[NUMPIPETAS], suma, media; /*Ahora calculamos la media*/ /*Pero primero hacemos la suma total*/ sumaTotal=0; for(i=0;i<NUMPIPETAS;i++){ for(j=0;j<MAXMEDICIONES;j++){ sumaTotal = sumaTotal + m[NUMPIPETAS][MAXMEDICIONES]; } } /*Calculamos la suma de cada columna*/ for(j=0;j<MAXMEDICIONES;j++){ suma = 0; for(i=0;i<NUMPIPETAS;i++){ suma = suma + m[NUMPIPETAS][MAXMEDICIONES]; } sumaColumnas[j] = suma; /*Ahora hacemos la media de cada columna*/ media = suma/5; } } void calcularDesviacionTipica(int m[NUMPIPETAS][MAXMEDICIONES]){ int i,j; float suma1=0, media, varianza, desviacion_tipica; int x[i]; /*Calculamos la desviacion tipica*/ for(i=0;i<NUMPIPETAS;i++){ for(j=0;j<MAXMEDICIONES;j++){ { } } } varianza = suma1 / 4; } void calcularErrorAleatorio(int m[NUMPIPETAS][MAXMEDICIONES]){ float error_aleatorio, desviacion_tipica; } void buscarAnomalos(int m[NUMPIPETAS][MAXMEDICIONES]){ //buscar numeros mayores que 1 en la primera columna //mayores que 0.2 en la segunda columna y que 0.02 en la tercera columna int i,j; /*Vamos a hacer un recorrido para calcular los valores anomalos*/ for(j=0;j<MAXMEDICIONES;j++){ for(i=0;i<NUMPIPETAS;i++){ if } } }