Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pinecore

#1
Muchas gracias por resolver mi problema y también por darme todos esos links, los voy a revisar todos.

Gracias por tu tiempo y la molestia.
#2
La fórmula está bien, tuve que usar los +1 porque el resultado del pow() me daba siempre, por ejemplo: si era 25, me daba 24, con el +1 arreglé eso.

Pero creo que debe de ser lo del printf, lo intentaré. Muchísimas gracias por darle seguimiento.

Edición:
Ya lo probé, era el printf, ya está todo perfecto.

Muchas gracias por la ayuda.
#3
Ya lo intenté, y como resultado me da:
-784912405
#4
Un saludo a quien lea esto.

Soy principiante en "C" y escribí un intento de programa para obtener la distancia entre dos puntos de un plano cartesiano a manera de ejercicio.
El programa funciona perfectamente, excepto por un detalle: Me gustaría poder obtener las distancias en decimales y no sólo en enteros.
No sé que hacer, estuve experimentando pero no tuve éxito. Espero que me puedan ayudar.

Estoy en Windows y utilizo el compilador GNU CC compiler (creo, eso dice mi IDE).

Muchas gracias.
/** Programa para encontrar la distancia entre dos puntos **/

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

main() {
    //Primer punto
    int x1 = 0; //P1(x1,0)
    int y1 = 0; //P1(0,y1)

    //Segundo punto
    int x2 = 0; //P2(x2,0)
    int y2 = 0; //P2(0,y2)

    //Diferencias de X e Y.
    int difx;
    int dify;

    //Resultado
    int distancia;


    //Obtención de los valores para el primer punto.
    //x1
    printf("Introduce el valor \"X\" del primer punto:\n");
    scanf("%d", &x1); //Valor de equis en el primer punto.
    //y1
    printf("Introduce el valor \"Y\" del primer punto:\n");
    scanf("%d", &y1); //Valor de ye en el primer punto.

    //Obtención de los valores para el segundo punto.
    //x2
    printf("Introduce el valor \"X\" del segundo punto:\n");
    scanf("%d", &x2); //Valor de equis en el primer punto.
    //y2
    printf("Introduce el valor \"Y\" del segundo punto:\n");
    scanf("%d", &y2);

    if(x1 > x2){
        difx = x1 - x2;
    }else{
        difx = x2 - x1;
    }
    /**Función para obtener la diferencia de X, identificando quien es el mayor.**/

    if(y1 > y2){
        dify = y1 - y2; //Si Y1 es mayor, entonces se le resta y2 para evitar negativos.
    }else{
        dify = y2 - y1;
    }
    /**Función para obtener la diferencia de Y, identificando quien es el mayor.**/

    distancia = sqrt((1.0 + pow(difx,2)) + (1.0 + pow(dify,2)));
    printf("%d", distancia);
return 0;
}