計算城市間的球面距離(C 實現)

2022-04-15 06:29:41 字數 2004 閱讀 7122

#include#include

#include

#include

using

namespace

std;

struct city //

城市結構體

};const

double pi = 3.1415926

;const

double r = 6371.0;//

地球半徑

int iputn() //

input number輸入城市數量

}if (flag)flag = false

;

else flag = true

; }

returnn;}

int chodir(int dir) //

choose direction 選擇方向(東西經,南北緯)

else

bool flag = true

;

intchoice;

while

(flag)

if (flag)flag = false

;

else flag = true

; }

return

choice;

}double iputcoo(int option) //

input coordinate 輸入座標

else

if (2 == option)

else

if (3 == option)

else

double

coor;

bool flag = true

;

while

(flag)

if (flag)flag = false

;

else flag = true

; }

return

coor;

}double calcu(city& p1, city& p2) //calculate

計算兩點加球面距

intmain()

struct city* city = new city[num];//

建立陣列

for (int i = 0; i < num; i++)

if (1 ==choice)

city[i].lon = pi*elon / 180.0; //

角度轉弧度

city[i].eorw = 1; //東經}

else

city[i].lon = pi*wlon / 180.0

; city[i].eorw = 0; //西經}

choice = chodir(1); //

輸入南北緯

if (choice<0 || choice>1)

if (1 ==choice)

city[i].lat = pi*nlat / 180.0

; city[i].nors = 1; //北緯}

else

city[i].lat = pi*slat / 180.0

; city[i].nors = 0; //南緯}

}cout

<< "

start\\end ";

for (int i = 0; i < num; i++)

cout

<< setw(12)

cout

<< '\n'

;

for (int i = 0; i < num; i++)

delete city;//

delete掉new的陣列

return0;

}

C根據輸入的城市座標求各城市間的距離

include include define num c 4 城市個數 double dis c num c num c 各個城市之間的距離 定義結構體 typedef struct c c city num c 記錄各個城市的座標 void input 輸入各個城市的座標 void calever...

計算點到直線的距離 C 實現

如下圖所示,我們要計算的是c點到直線ab的距離。首先我們要認識到,雖然在數學上,點 與 向量 是兩種不同的名詞,但在實際的計算中是可以直接把 點 的座標視為從座標系 原點 到 點 的 向量 有了這個前提,線段ab其實可以簡單地表示為向量n,其他的向量同理可得。用向量解決這個問題的關鍵是求出v在n上的...

計算兩點間的距離

problem description 輸入兩點座標 x1,y1 x2,y2 計算並輸出兩點間的距離。input 輸入資料有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,資料之間用空格隔開。output 對於每組輸入資料,輸出一行,結果保留兩位小數。sample input 0 ...