叫Chat AI寫一段程式,他的回應讓我驚呆了

以下是我跟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真的寫出來了.😆