Distância entre pontos. Escreva a função distance que calcula a distância entre dois pontos (x1, y1) e (x2, y2). Todos os números e valores de retorno devem ser do tipo double.
Passo 1
Fala Galera!!! Tudo certa? Espero que sim!!! Bora para mais um exercício.
Nesse exercício vamos ter que criar uma função chama distance que calcula a distância entre dois pontos (x1, y1) e (x2, y2). Antes, precisamos saber como que se calcula essa distância matematicamente.
Existe uma formula para calcular a distância entre dois pontos no espaço, dada por meio de suas coordenadas. Assim sendo, sejam os pontos A = (x1, y1) e B = (x2,y2), a distância entre A e b, denotada por dAB, é dada pela seguinte expressão:
(1)
Passo 2
Já sabemos como calcular a distância entre dois pontos. O próximo passo é escrever nossa função em C. Os parâmetros que teremos que passar para função será os valores das coordenadas dos dois pontos. E dentro da função distance usar as funções da biblioteca
/* distance calcula a distância entre 2 pontos
dado por (xOne, yOne) e (xTwo, yTwo) */
double distance( double xOne, double yOne, double xTwo, double yTwo ){
double distance; /* distância entre dois pontos */
distance = sqrt( pow( xOne - xTwo, 2 ) + pow( yOne - yTwo, 2 ) );
return distance;
}
Lembrando que a função srqt é responsável por calcular a raiz quadrada e a função pow calcula a potenciação.
Passo 3
Agora, precisamos pedir para que o usuário digite os valores das coordenadas e chamar a função distance dentro do main(), que ficará da seguinte forma:
#include
#include
double distance( double xOne, double yOne, double xTwo, double yTwo );
int main(){
double x1; /* x coordenada do primeiro ponto */
double y1; /* y coordenada do primeiro ponto */
double x2; /* x coordenada do segundo ponto */
double y2; /* y coordenada do segundo ponto */
double dist; /* distância entre dois pontos */
/* solicitação de coordenadas do primeiro ponto */
printf( "Entre com o primeiro ponto: " );
scanf( "%lf%lf", &x1, &y1 );
/* solicitação de coordenadas do segundo ponto */
printf( "Entre com o segundo ponto: " );
scanf( "%lf%lf", &x2, &y2 );
/* calculate distance */
dist = distance( x1, y1, x2, y2 );
printf( "Distance between ( %.2f, %.2f )" " and ( %.2f, %.2f ) is %.2f\n",x1, y1, x2, y2, dist );
return 0;
} /* fim do main */
E assim, finalizamos o exercício. Até o próximo Galera!!!
Resposta
O programa final será:
