No plano cartesiano, um ponto é determinado pelo par ordenado ( x, y ). Sabendo que a distância euclidiana entre dois pontos é calculada como:
dA B=raiz(xA-xB)^2+(yA-yB)^2
escreva um programa em C que calcula a distância entre dois pontos informados pelo usuário. Utilize tipos estruturados de dados.

Passo 1

O enunciado pede criar um programa em C que calcula a distância euclidiana entre dois pontos no plano cartesiano, usando tipos estruturados de dados (struct).

Passo 2

Definimos um tipo estruturado para representar um ponto no plano: uma struct com dois campos do tipo double, para as coordenadas x e y.
Implementamos uma função distance que recebe dois pontos do tipo Point e retorna a distância euclidiana, usando a fórmula d=raiz(xA-xB)^2+(yA-yB)^2.

Passo 3

No main, declaramos duas variáveis do tipo Point e usamos scanf para ler as coordenadas x e y de cada ponto informadas pelo usuário.
Chamamos a função distance com os dois pontos lidos, armazenamos o resultado em uma variável e usamos printf para mostrar a distância calculada ao usuário.

Resposta

#include <stdio.h>
#include <math.h>
typedef struct {
double x;
double y;
} Point;
double distance(Point a, Point b) {
return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
int main(void) {
Point p1, p2;
printf(“Digite as coordenadas do primeiro ponto (x y): “);
scanf(”%lf %lf”, &p1.x, &p1.y);
printf(“Digite as coordenadas do segundo ponto (x y): “);
scanf(”%lf %lf”, &p2.x, &p2.y);
double d = distance(p1, p2);
printf("Distância entre os pontos: %.4f\n", d);

return 0;
}

Exercícios relacionados