elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda en c  (Leído 1,290 veces)
francis polo

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ayuda en c
« en: 27 Junio 2014, 06:11 am »

 ayudame por favor donde esta el error ? como calculo la distancia de entre dos puntos (de ambos con coordenada x e y positivas )

#include<stdio.h>
#include<math.h>


int distancia(int x1, int x2, int y1, int y2);

main()
{
  int coorX1 , coorX2 , coorY1 , coorY2 ;
 
  printf("ingrese 2 puntos\ncoordenada x1:\ncoordenada y1:\n");
  scanf("%d%d",&coorX1,&coorY1);
 
  printf("ingrese 2 puntos\ncoordenada x2:\ncoordenada y21:\n");
  scanf("%d%d",&coorX2,&coorY2);
 
  if(coorX1>0 && coorX2>0 && coorY1>0 && coorY2>0 ) {
   
    printf("la distancia es %d\n",distancia(coorX1 , coorX2 , coorY1 , coorY2) );
  }
 
  else {
    printf("los puntos tiene que ser de coordenadas positivos \n");
  }
 
  return 0 ; 
 
}

  int distancia(int x1, int x2, int y1, int y2)
  {
    int distancia ;
    distancia = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) );
 
    return distancia ;
  }
 




En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda en c
« Respuesta #1 en: 27 Junio 2014, 06:32 am »

cuando publiques codigo, usa las etiquetas GeSHi (arriba de los emoticones a la derecha)


tu codigo tiene los siguientes errores....

- declaras una variable con el mismo nombre de la funcion (distancia)
- la variable y la función son "int" (entero), pero "sqrt" devuelve un valor "double"(decimal de doble precisión) eso causa un error
- en tu ultimo printf, imprimes "la distancia es %d\n" eso imprimirá un numero sin coma, debe usar %f en lugar de %d
- los valores que puedes ingresar no incluyen 0 (algunos incluyen el 0 como "positivo" para estos casos ya que es la base del eje de coordenadas)


de resto el codigo se ve bien


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines