Título: Problema con float y double!!!! Publicado por: EdgarKrieger en 8 Mayo 2014, 19:52 pm Hola a todos perdón por molestarlos pero tengo un problema lo que pasa es que estoy haciendo un programa que lea 30 números y los convierta a grados kelvin, lo tengo que hacer por medio de funciones y arreglos, esto es lo que llevo:
#include <stdio.h> #define MAX 30 void introducir(float *grados) { int i; float cel[50]; printf("Dame 30 valores de grados a convertir en grados celsius:\n"); for(i=0;i<MAX;i++){ printf("Numero %d >>>> ",i+1); scanf("%f",&cel); while(getchar()!='\n'); } } float kelvin(float *grados) { int i; float kel[50]; for(i=0;i<MAX;i++){ kel = &grados-273.15; return kel; } } int main() { float far[50],kel[50],grados[50]; introducir(grados); printf("Grados Kelvin:\n"); printf("%f",kelvin(grados)); return 0; } El problema es que cuando compilo me sale el siguiente error: :-X :-X error: invalid operands to binary - (have 'float *' and 'double')| a que se debe ese error y como puedo corregirlo :huh: :huh: :huh: muchas gracias por su ayuda Título: Re: Problema con float y double!!!! Publicado por: Blaster en 8 Mayo 2014, 21:02 pm Para convertir grados Celsius a Kelvin la formula seria
Código
Tu codigo con las debidas correcciónes Código
Debes publicar tu codigo con las etiquetas GeSHi C de lo contrario algunos caracteres no aparecen Saludos Título: Re: Problema con float y double!!!! Publicado por: EdgarKrieger en 8 Mayo 2014, 21:34 pm Muchas gracias Blaster me ayudaste bastante gracias y claro voy a investigar como poner el código fuente en etiquetas GeSHi C ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
Título: Re: Problema con float y double!!!! Publicado por: MeCraniDOS en 14 Mayo 2014, 23:41 pm y claro voy a investigar como poner el código fuente en etiquetas GeSHi C ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) Cuando quieras poner un código, donde están las opciones para dar formato al texto (parte superior donde escribes), hay un desplegable a la derecha que pone GeSHi :rolleyes: Saludos Título: Re: Problema con float y double!!!! Publicado por: Yoel Alejandro en 22 Mayo 2014, 04:02 am Mmmmm, perfecto pero yo opino que si sólo quiere imprimir los valores en Kelvin no es necesario el segundo argumento en la función kelvin(). Bastaría con:
Código
Título: Re: Problema con float y double!!!! Publicado por: leosansan en 22 Mayo 2014, 22:34 pm Inesperada la salida que obtengo con el código de Blaster:
Citar Dame 3 valores de grados a convertir en grados celsius: Numero 1 >>>> 100 Numero 2 >>>> 200 Numero 3 >>>> 300 Grados Kelvin: 373.149994 473.149994 573.150024 No así con el de yoel_alejandro: Citar Dame 3 valores de grados a convertir en grados celsius: Numero 1 >>>> 100 Numero 2 >>>> 200 Numero 3 >>>> 300 Grados Kelvin: 373.150000 473.150000 573.150000 Análogo al de usar %g en lugar de %f: Código
Citar Dame 3 valores de grados a convertir en grados celsius: Numero 1 >>>> 100 Numero 2 >>>> 200 Numero 3 >>>> 300 Grados Kelvin: 373.15 473.15 573.15 ¿Alguna sugerencia a este comportamiento del %f?. ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) Título: Re: Problema con float y double!!!! Publicado por: Blaster en 23 Mayo 2014, 01:57 am ¿Alguna sugerencia a este comportamiento del %f?. En el modo de operar del especificador %f no hay nada estraño, debes tener encuenta que son diferentes y cada uno procesa el valor con diferente precisiónes, obten mas información al respecto en esta pagina http://support.microsoft.com/kb/43392/es (http://support.microsoft.com/kb/43392/es) Saludos |