Título: Funciones en C, Ayuda!! Publicado por: jfap45 en 20 Julio 2012, 19:11 pm Hola, tengo el siguiente codigo y me gustaria pasarlo a funciones para que despues las pueda reutilizar, si me pudieran ayudar al menos con una porfavor, yo me encargaria de pasar las demas a como pueda:
Código: #include <stdio.h> #include <conio.h> float num[10],aux=0,min,max; int i,e,t; void main (){ clrscr(); // ASIGNAMOS UN TAMAÑO AL VECTOR, ELEGIDO POR EL USUARIO printf("Cual es el tamano del arreglo: "); scanf("%d", &t); num[t]; // RELLENAMOS LAS POSICIONES DEL VECTOR for (i=0;i<t;i++) { printf("Numero para el lugar %d del arreglo: ",i); scanf("%f", &num); } // ORDENAMOS DE MENOR A MAYOR LOS VALORES DEL VECTOR for (i=1;i<t;i++) for (e=0; e<t-1;e++) if (num[e]>num[e+1]) { aux= num[e]; // la variable aux nos ayuda a cambiar de posicion los valores del vector num[e]=num[e+1]; num[e+1]=aux; } // SE ESTABLECEN LOS VALORES MINIMOS Y MAXIMOS min=num[0]; //Se establece con el valor del primer indice para despues comparar si el indice siguiente es menor max=num[0]; //Se establece con el valor del primer indice para despues comparar si el indice siguiente es mayor for (i=1;i<=t-1;i++) { if (num<min) min=num; if (num>max) max=num; } // SE IMPRIME EL VECTOR CON LOS VALORES ORDENADOS for(i=0;i<t;i++) { printf("%f",num); printf("\n"); } // CALCULAMOS LA MEDIA O EL PROMEDIO DE TODOS LOS ELEMENTOS DEL VECTOR float suma=0; float media=0; for(i=0;i<t;i++) { suma=suma+num; media=suma/t;} // CALCULAMOS LA MEDIANA DEL CONJUNTO DE VALORES float mediana=0; if(t%2==0) { t=t/2; mediana=(num[t]+num[t-1])/2; } else { t=(t-1)/2; mediana=num[t]; } printf("La media es: %f \n",media); printf("La mediana es: %f \n",mediana); printf("Minimo: %f, Maximo: %f \n",min,max); getch(); } El codigo no es muy avanzado, por que yo no se programar mucho en C. Título: Re: Funciones en C, Ayuda!! Publicado por: durasno en 20 Julio 2012, 21:40 pm Hola! Tenes un error en la lectura del arreglo num. La forma correcta es:
Código tenes que indicar el subindice. Lo mismo para imprimir... Basicamente podrias separar todo el programa en funciones. Te dejo una funcion: Código
Código
Y asi podrias crear una funcion para todos los comentarios que tenes en mayusculas Saludos Título: Re: Funciones en C, Ayuda!! Publicado por: jfap45 en 20 Julio 2012, 23:19 pm Muchas Gracias, una por lo del error al leer el vector y otra por lo de la funcion, creo q entendi, gracias de nuevo y saludos!!
Título: Re: Funciones en C, Ayuda!! Publicado por: jfap45 en 23 Julio 2012, 18:04 pm Ammm, perdon por las molestias otra vez,
resulta q segun yo hice mis funciones, pero no estan bien xq me marca muchos errores; Código: # include <conio.h> Me sale un error en algunas donde me dice q son muy pocos parametros los q uso para llamar la funcion, espero puedan ayudarme: Título: Re: Funciones en C, Ayuda!! Publicado por: durasno en 23 Julio 2012, 22:24 pm Hola! el error que te marca es simple, vos no podes declarar una funcion con 5 parametros y luego cuando llamas a esa funcion(en el main) solo le pasas 1 como haces con medianum()
Otra cosa q debes corregir es la declaracion float num[1]. Igual el tema mas importante que te falta es el concepto de "pasaje por valor y pseudoreferencia", el cual me parece mas conveniente explicarte cuando veas punteros. Al no saber ese tema te recomiendo que declares funciones de este tipo: Código Es decir funciones que reciben el arreglo, el tamaño del arreglo y retornen un resultado. Te dejo algunos ejemplos: Código
Saludos |