在 C++ 中查詢給定三角形各邊中點的座標
假設我們有三個座標,它們是三角形各邊的中點。我們必須找到三角形的座標。因此,如果輸入類似於 (5, 3)、(4, 4)、(5, 5),則輸出將為 (4, 2)、(4, 6)、(6, 4)。
為了解決這個問題,我們必須分別對 X 座標和 Y 座標進行求解。對於頂點的 X 座標,設它們為 x1、x2、x3。然後,中點的 X 座標將為 (x1 + x2)/2、(x2 + x3)/2、(x3 + x1)/2。如果我們觀察這三個表示式的和,它等於 X 座標的和。現在,我們有了三個變數的和以及每個變數對的三個表示式。我們必須透過求解方程來找出座標的值。類似地,我們求解 Y 座標。
示例
#include<iostream>
#include<vector>
#define N 3
using namespace std;
vector<int> getResult(int v[]) {
vector<int> res;
int sum = v[0] + v[1] + v[2];
res.push_back(sum - v[1]*2);
res.push_back(sum - v[2]*2);
res.push_back(sum - v[0]*2);
return res;
}
void searchPoints(int mid_x_coord[], int mid_y_coord[]) {
vector<int> x_vals = getResult(mid_x_coord);
vector<int> y_vals = getResult(mid_y_coord);
for (int i = 0; i < 3; i++)
cout << x_vals[i] << " " << y_vals[i] <<endl;
}
int main() {
int mid_x_coord[N] = { 5, 4, 5 };
int mid_y_coord[N] = { 3, 4, 5 };
searchPoints(mid_x_coord, mid_y_coord);
}輸出
6 4 4 2 4 6
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP