|
Time |
Memory |
| Case 1 |
1 sec |
32 MB |
| Case 2 |
1 sec |
32 MB |
| Case 3 |
1 sec |
32 MB |
| Case 4 |
1 sec |
32 MB |
| Case 5 |
1 sec |
32 MB |
Description
給定一個名為Vector2的struct,如下列所示:
typedef struct Vector2
{
double x;
double y;
} Vector2;
再給定主要執行程式main.c (題號.c)、以及Header檔function.h (題號.h);請試著完成Header檔中未實現的函式:Add()、Subtract()、Multiple()、Divide()、DotProduct()
function.c
#include "function.h"
Vector2 Add(Vector2 v1, Vector2 v2)
{
//TODO
}
Vector2 Subtract(Vector2 v1, Vector2 v2)
{
//TODO
}
Vector2 Multiple(Vector2 v1, double d)
{
//TODO
}
Vector2 Divide(Vector2 v1, double d)
{
//TODO
}
double DotProduct(Vector2 v1, Vector2 v2)
{
//TODO
}
Note:
內積(dot product)是兩個向量之間的一種運算,該運算會產生一個純量(即一個單一的數值)。在幾何學中,內積可以用來測量兩個向量之間的相似性或夾角,並且它具有許多應用,例如在物理學中計算力和位移的關係。
內積的計算方法
假設有兩個向量 A 和 B,它們的座標分別為:
-
向量 A = (x₁, y₁)
-
向量 B = (x₂, y₂)
向量 A 和 B 的內積可以用以下公式計算:
Input
輸入符合以下格式:
op
x1 y1
(x2 y2 or d)
Note:
-
如果op是’+’或是’-‘,則會再給一組x2, y2用來代表另一個向量的值
-
如果op是’*’或是’/‘,則會再給一個浮點數d
-
不會出現不合理的數值運算,例如除以0
- 運算後的結果不會超過double的data range
Output
輸出符合以下格式:
(x, y)
Note:
-
輸出的最後必須要有一個換行符號 ('\n')
-
無需處理輸出
Partial Judge Code
14403.c
Partial Judge Header
14403.h
Tags