以下是我跟AI的對話, 基本上都是我命令AI寫, 框框裡的是AI的回答, 對話過程感覺程式真的是AI寫的. 而且內容正確. 低端程式設計師的好日子快結束了.
我: 寫一個程式 可以由三點座標算出三角形面積
以下是一段可以计算三角形面积的代码:
import numpy as np
def triangle_area(p1, p2, p3):
x1, y1 = p1
x2, y2 = p2
x3, y3 = p3
return 0.5 * np.abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))
p1 = np.array([float(x) for x in input().split()])
p2 = np.array([float(x) for x in input().split()])
p3 = np.array([float(x) for x in input().split()])
area = triangle_area(p1, p2, p3)
print("The area of the triangle is:", area)
该代码使用了Numpy库,并使用了浮点数存储三角形的顶点。输入的每个顶点应该是一对浮点数,表示该顶点的x和y坐标。最终,代码会输出三角形的面积。
我: 請用C++重寫
以下是使用C++语言实现的三角形面积计算代码:
#include <iostream>
#include <cmath>
using namespace std;
double triangle_area(double x1, double y1, double x2, double y2, double x3, double y3) {
return 0.5 * fabs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2));
}
int main() {
double x1, y1, x2, y2, x3, y3;
cout << "Enter the x and y coordinates of the first point: ";
cin >> x1 >> y1;
cout << "Enter the x and y coordinates of the second point: ";
cin >> x2 >> y2;
cout << "Enter the x and y coordinates of the third point: ";
cin >> x3 >> y3;
double area = triangle_area(x1, y1, x2, y2, x3, y3);
cout << "The area of the triangle is: " << area << endl;
return 0;
}
该代码使用了C++标准库中的fabs函数来计算绝对值。输入的每个顶点应该是一对浮点数,表示该顶点的x和y坐标。最终,代码会输出三角形的面积。
我: 如果 x1,y1,x2,y2,x3,y3都是long , 請改寫程式的型態
以下是使用long整数类型实现的三角形面积计算代码:
#include <iostream>
#include <cmath>
using namespace std;
long triangle_area(long x1, long y1, long x2, long y2, long x3, long y3) {
return (x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2;
}
int main() {
long x1, y1, x2, y2, x3, y3;
cout << "Enter the x and y coordinates of the first point: ";
cin >> x1 >> y1;
cout << "Enter the x and y coordinates of the second point: ";
cin >> x2 >> y2;
cout << "Enter the x and y coordinates of the third point: ";
cin >> x3 >> y3;
long area = triangle_area(x1, y1, x2, y2, x3, y3);
cout << "The area of the triangle is: " << area << endl;
return 0;
}
该代码使用了long整数类型存储三角形的顶点,并且使用整数除法计算面积。因此,最终的面积结果也是整数。
我: 計算面積時, 面積請乘2, 並且加上絕對值
以下是修改后的代码,计算三角形面积并乘以2,并加上绝对值:
#include <iostream>
#include <cmath>
using namespace std;
long triangle_area(long x1, long y1, long x2, long y2, long x3, long y3) {
return abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) * 2);
}
int main() {
long x1, y1, x2, y2, x3, y3;
cout << "Enter the x and y coordinates of the first point: ";
cin >> x1 >> y1;
cout << "Enter the x and y coordinates of the second point: ";
cin >> x2 >> y2;
cout << "Enter the x and y coordinates of the third point: ";
cin >> x3 >> y3;
long area = triangle_area(x1, y1, x2, y2, x3, y3);
cout << "The area of the triangle is: " << area << endl;
return 0;
}
在计算面积时,乘以2并使用C++标准库中的abs函数计算绝对值。
我: 那個 *2 不需要
以下是修改后的代码,只加上绝对值:
#include <iostream>
#include <cmath>
using namespace std;
long triangle_area(long x1, long y1, long x2, long y2, long x3, long y3) {
return abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2));
}
int main() {
long x1, y1, x2, y2, x3, y3;
cout << "Enter the x and y coordinates of the first point: ";
cin >> x1 >> y1;
cout << "Enter the x and y coordinates of the second point: ";
cin >> x2 >> y2;
cout << "Enter the x and y coordinates of the third point: ";
cin >> x3 >> y3;
long area = triangle_area(x1, y1, x2, y2, x3, y3);
cout << "The area of the triangle is: " << area << endl;
return 0;
}
代码中没有乘以2,并且仅使用C++标准库中的abs函数计算绝对值。
我: 寫得真好
謝謝您的讚美!我很高興能夠幫助您。如果您還有任何其他疑問,請隨時告訴我!
以上是我命令AI寫的程式, 其實我要計算的是三個點構成的兩個向量圍成的四邊形面積. AI真的寫出來了.😆