<div>El problema es el comentado por Josu Diaz de Arcaya.</div><div>En realidad el problema sucede cuando los valores ingresados no correspondan a las medidas de los lados de un triángulo.</div><div>Para ser mas claro, en cualquier triángulo, la suma de la medida de 2 lados cualesquiera siempre será menor o igual a la medida del lado restante.</div>

<div>Por eso, la fórmula es correcta siempre y cuando los valores sean consistentes, así que deberías agregar una validación para esto.</div><div><br></div><div>Saludos<br></div><div><br></div><div class="gmail_quote">El 21 de septiembre de 2010 14:08, Antonio Félix Enríquez <span dir="ltr"><<a href="mailto:antoniofelix91@gmail.com">antoniofelix91@gmail.com</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


  

<div bgcolor="#ffffff" text="#000000">
Buenas, en la librería math viene incluída una función para obtener el
valor absoluto, fabs.<br>
<br>
Aquí la implementación:<div class="im"><br>
<br>
#include <stdio.h><br>
#include <math.h><br>
<br>
/* Programa para el cálculo del área de un triángulo.<br>
El programa, al recibir los tres laterales de un triángulo calcula su
área*/<br>
<br>
void main(void){<br>
<br>
float la1=0, la2=0, la3=0, aux=0, Are= 0;<br>
<br>
printf("Ingrese los tres laterales de un triángulo: ");<br>
scanf("%f %f %f", &la1, &la2, &la3);<br>
aux = (la1 + la2 + la3) / 2;<br></div>
Are = sqrt( aux * fabs(( aux-la1)) * fabs(( aux-la2)) * fabs((
aux-la3)));<br>
printf("\nEl área es %6.2f\n", Are);<br>
}<br>
<br>
Un saludo y gracias nuevamente.<br>
<br>
Reignerok escribió:
<blockquote type="cite"><div class="im">Supongo que necesitarás la diferencia entre ambos números.
Podrías hacer una función que calculara el valor absoluto, de forma que
se te convierta en positivo y ya no haya problema.
  <div><br>
  </div>
  </div><div>Un saludo.<br>
  <br>
  <div class="gmail_quote">El 21 de septiembre de 2010 18:34, Antonio
Félix Enríquez <span dir="ltr"><<a href="mailto:antoniofelix91@gmail.com" target="_blank">antoniofelix91@gmail.com</a>></span>
escribió:<div><div class="h5"><br>
  <blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
    <div bgcolor="#ffffff" text="#000000">Buenas, pues podría ser por
eso, yo realmente no lo hago así, pero como
viene con ese ejemplo y con esa fórmula en el libro, vamos en
bachillerato no te enseñan de esa forma :P.<br>
    <br>
Muchas gracias a todos, un saludo ^^.<br>
    <br>
Josu Diaz de Arcaya escribió:
    <blockquote type="cite">
      <div> sospecho que es porque no se puede hacer la raiz
de un numero negativo.<br>
      <br>
Si ingresas 6 3 2 por ej, devuelve nan porque el resultado de (aux -l1)
es negativo y por consiguiente haces la raiz de un numero negativo<br>
      <br>
Curiosa forma de calcular el area de un triangulo...<br>
      <br>
On Tue, 2010-09-21 at 17:56 +0200, Reignerok wrote:<br>
      </div>
      <div>
      <blockquote type="CITE"> NaN significa Not a Number. Debe ser que
en
alguna operación estás cometiendo un error. ¿Has revisado las
operaciones a mano?<br>
        <br>
      </blockquote>
      <blockquote type="CITE"> El 21 de septiembre de 2010 17:51,
Antonio
Félix Enríquez <<a href="mailto:antoniofelix91@gmail.com" target="_blank">antoniofelix91@gmail.com</a>>
escribió: </blockquote>
      </div>
      <blockquote type="CITE">
        <blockquote>
          <div> Hola, estoy aprendiendo a programar en C con
algunos
libros que me he comprado, ahora mismo estoy leyendo Fundamentos de
programación: Piensa en C, me ha surgido un problema y es el siguiente:<br>
          <br>
El código:<br>
          <br>
#include <stdio.h><br>
#include <math.h><br>
          <br>
/* Programa para el cálculo del área de un triángulo.<br>
El programa, al recibir los tres laterales de un triángulo calcula su
área*/<br>
          <br>
void main(void){<br>
          <br>
float la1=0, la2=0, la3=0, aux=0, Are=0;<br>
          <br>
printf("Ingrese los tres laterales de un triángulo: ");<br>
scanf("%f %f %f", &la1, &la2, &la3);<br>
aux = (la1 + la2 + la3) / 2;<br>
Are = sqrt( aux * (aux - la1) * (aux - la2) * (aux - la3));<br>
printf("\nEl área es %f\n", Are);<br>
}<br>
          <br>
          </div>
El problema es que me produce un resultado algo raro a mi parecer, pues
en vez de imprimir el área de un triángulo imprime casi siempre <b>nan</b>lo
cual me parece bastante raro.
          <div><br>
          <br>
Compilo con gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) con la
siguiente orden, gcc -Wall -lm codigo.c -o calcular_area_triangulo.<br>
          <br>
Un saludo y gracias.<br>
          <br>
          </div>
        </blockquote>
      </blockquote>
      <div>
      <blockquote type="CITE">
        <blockquote> <br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
          <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a>
        </blockquote>
      </blockquote>
      <blockquote type="CITE"> <br>
        <pre>_______________________________________________
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a>
    </pre>      </blockquote>
      <br>
      </div>
      <pre><hr size="4" width="90%"><div>
_______________________________________________
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></div></pre>    </blockquote>
    <br>
    </div>
    <br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
    <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
  </blockquote>
  </div></div></div>
  <br>
  </div><div><div class="h5">
  <pre><hr size="4" width="90%">
_______________________________________________
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></pre></div></div></blockquote>
<br>
</div>

<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>