Cómo calcular la distancia entre dos puntos usando lenguaje C
# include ltstdio.h gt
# include ltstdlib.h gt
#Include “math h"
punto de estructura typedef {
Doble x;
Doble y;
} punto;
Matriz de puntos[30001];
Doble distancia (punto a, punto b);
int main(int argc, char *argv[])?
{
mientras(1){
int n, I, j, cuenta
doble maxdis, temp
scanf("d", ampn);
for(I = 0;iltn;i){
scanf("f f", amparray[i]. x amp ;array[i].y);
}
for(I = 0;iltn;i){
//printf(" d d\n ", matriz[i].x, matriz[i].y);
//printf("dis:.2f\n ",distancia(matriz[0],matriz[I ])) ;
}
maxdis = 0.0
for(I = 0;iltn;i){
for( j = I; j ltn; j ){
if (distancia ((matriz[i])), (matriz[j]) gt; maxdis ){
//printf ("maxdis = :.2f\n ", distancia ((matriz[i])), (matriz[j]));
maxdis =distancia((matriz[i]), (matriz[j])) ;
}
}
}
printf(".2f ", maxdis);
}
System("pause");
Devuelve 0;
}
//Calcula la distancia xey.
Doble distancia (punto a, punto b){
Retorno sqrt( (a.x - b.x)*(a.x - b.x)? (a.y -b.y)*(a.y - b.y )? );
}
Datos extendidos:
Notas sobre la escritura en lenguaje C:
1. Debe declararse antes de poder utilizarse.
2. Escriba solo una declaración por línea y agregue un espacio a ambos lados del operador para facilitar la lectura.
3. La división de números enteros se redondeará automáticamente.
4. for (parte de inicialización; parte condicional; parte de crecimiento) es más adecuado que while cuando los pasos de inicialización y crecimiento son declaraciones únicas.
5. ¿Uso? #define el texto de reemplazo de nombre le da a un "número mágico" un significado fácil de leer #define No es necesario ";" al final. Termina el día 9.