Autor
|
Tema: duda en c (Leído 4,828 veces)
|
ktn_ivan
Desconectado
Mensajes: 2
|
hola tengo un pequeño problema o mejor una duda me pidieron hacer una programa que almacene a 5 personas con su peso y sacara el promedio y cual era el de mayor peso y el de menor peso pero solamente pude sacar el promedio del arreglo pero no pude comparlos para ver cual era mas pesado y el menos pesado si alguien me puede aclarar esa duda porfavor no es un trabajo xsicaso quiero salir de esa duda para que a futuro no me vuelva a pasar gracias EI: juntando mensajes.#include<stdio.h> #include<conio.h> main() { float peso[5]; int i; float prom=0; int masp=0; int menp=0; for(i=0;i<5;++i) { printf("ingrese los pesos de las personas\n"); prom=prom+peso; } prom=prom/i; printf("el promedio de los pesos es %f\n",prom ); }
|
|
« Última modificación: 4 Junio 2010, 21:30 pm por Eternal Idol »
|
En línea
|
|
|
|
SeC
Desconectado
Mensajes: 109
@susan.
|
Una idea es declarar dos variables, una muy grande y otra muy pequeña (con respecto al problema), luego al pedir los pesos y meterlos en el array vas comparando cada peso con estas variables y si una es mayor o menor, reemplazas y ya .. modifique un poco el código de quien contesto antes para que revises la lógica. #include<stdio.h> #define MAX 5 int main(void) { float peso[5]; int i; float prom=0; int mayor=-999; int menor=999; for(i=0;i<MAX;i++) { printf("Peso de la persona Numero [%d]\n",i ); prom=prom+peso[i]; if(peso[i]>mayor) mayor=peso[i]; if(peso[i])<menor) menor=peso[i]; } prom=prom/MAX; printf("el promedio de los pesos es %f\n",prom ); return 0; }
|
|
« Última modificación: 6 Junio 2010, 03:26 am por SeC »
|
En línea
|
Educad a los niños y no sera necesario castigar a los hombres - Pitagoras.
|
|
|
ktn_ivan
Desconectado
Mensajes: 2
|
gracias se me olvido decir k que estoy programando con el dev-c++
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
ktn_ivan usa GESHI cuando postees codigo, asi es mas facil de leerlo para quienes te daran ayuda.
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
SeC por error pusiste a la variable mayor un valor muy pequeño ktn_ivan, te dejo el codigo de como yo lo haria... #include <stdio.h> #define MAX 5 int main( void ) { float peso[MAX], prom = 0, mayor, menor; int i; for ( i = 0; i < MAX; i++ ) { printf( "Peso de la persona numero [%d]: ", i + 1 ); fflush( stdout ); scanf( "%f", &peso[i] ); prom += peso[i]; if ( i == 0 ) mayor = menor = peso[i]; if ( peso[i] > mayor ) mayor = peso[i]; if ( peso[i] < menor ) menor = peso[i]; } prom /= MAX; printf( "El promedio de los pesos es: %.2f\n" "El mayor de los pesos es: %.2f\n" "El menor de los pesos es: %.2f\n", prom, mayor, menor ); return 0; } Salu10.
|
|
« Última modificación: 5 Junio 2010, 22:25 pm por nicolas_cof »
|
En línea
|
|
|
|
SeC
Desconectado
Mensajes: 109
@susan.
|
SeC por error pusiste a la variable mayor un valor muy pequeño
No fue un error así debe ser, la idea es que cuando lea el primer dato y lo compare con la variable mayor este sea mayor y se reemplaze en la variable mayor, de ahí en adelante se compara con el nuevo valor y así =) . Edito: La variable menor si estaba mal xd, tenia un valor muy pequeño cuando debía ser uno muy grande .
|
|
« Última modificación: 6 Junio 2010, 03:27 am por SeC »
|
En línea
|
Educad a los niños y no sera necesario castigar a los hombres - Pitagoras.
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
La variable menor si estaba mal xd, tenia un valor muy pequeño cuando debía ser uno muy grande. me equivoque yo al avisarte! Pense el menor y puse la mayor Salu10.
|
|
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
La variable menor si estaba mal xd, tenia un valor muy pequeño cuando debía ser uno muy grande. me equivoque yo al avisarte! Pense el menor y puse la mayor Salu10. En esos casos, sin saber qué rango de valores vas a recibir, conviene inicializar las variables mayor y menor al primer dato que recibas.
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
En esos casos, sin saber qué rango de valores vas a recibir, conviene inicializar las variables mayor y menor al primer dato que recibas. Si te fijas en el codigo que deje mas arriba, es exactamente lo que hago Salu10.
|
|
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
Cierto, fallo mío que no revisé todos los posts
|
|
|
En línea
|
|
|
|
|
|