ejercicio 5)c

ejercicio 5)c

de Joaquina Garcia Marmol -
Número de respuestas: 1

tengo una duda sobre este ejercicio, ya que se supone que tenemos que poner el punto medio entre dos puntos, sin embargo este nuevo punto podría tener coordenadas reales, pero el tipo de dato rep_puntos tiene coordenadas enteras, deberíamos declarar un nuevo tipo de dato para el punto del medio o simplemente truncar las coordenadas y que sea aproximado?

En respuesta a Joaquina Garcia Marmol

Re: ejercicio 5)c

de Martin Pedemonte -
Hola Joaquina,

Si son enteros y haces la división (/) sin hacer ningún tipo de casteo, el resultado que te va a dar es el resultado de la división entera. Es decir no te daría ningún tipo error y no deberías truncar. ¿Por qué pasa eso? Porque C usa el mismo símbolo para la división entera y la división de punto flotante, y lo infiere a partir de los datos. O sea, si para hacer el promedio de dos enteros, sumas dos enteros y dividís entre 2, como son todos enteros, C asume que querés hacer una división entera. Si alguno de los operandos fuera de tipo float, asumiría que querés hacer la división de punto flotante. Para indicarle eso o bien se hace un casteo del tipo de datos o se puede dividir por 2.0. Te recomiendo que profundices sobre este tema en el distribuido de introducción a C*.

La otra opción sería cambiar el tipo de datos de coordX y coordY de int a float para que no se presente esta situación.

Saludos,
Martín