Được đưa ra với ba điểm có giá trị khác nhau và nhiệm vụ là kiểm tra xem các điểm có thẳng hàng hay không.
Các điểm được cho là thẳng hàng nếu chúng nằm trên cùng một đường thẳng và chúng không thẳng hàng nếu chúng nằm trên các đường thẳng khác nhau. Dưới đây là hình vẽ các điểm thẳng hàng và không thẳng hàng.
Đầu vào
x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5
Đầu ra
no points are not collinear
Đầu vào
x1 = 1, y1 = 1, x2 = 1, y2 = 4, x3 = 1, y3 = 5
Đầu ra
points are collinear
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
-
Nhập các điểm dưới dạng (x1, y1), (x2, y2), (x3, y3)
-
Áp dụng công thức diện tích tam giác x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)
-
kiểm tra các điều kiện như -
-
nếu diện tích tam giác bằng 0 thì các điểm in thẳng hàng
-
nếu diện tích tam giác không bằng 0 thì các điểm in không thẳng hàng
-
-
in kết quả cuối cùng
Thuật toán
Start Step 1→ declare function to check if points are collinear or not void check_collinear(int x1, int y1, int x2, int y2, int x3, int y3) declare int a = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2) IF (a == 0) Print "yes points are collinear" End Else Print "no points are not collinear" Step 2→ In main() Declare int x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5 Call check_collinear(x1, y1, x2, y2, x3, y3) Stop
Ví dụ
#include <bits/stdc++.h> #include <math.h> #include <stdlib.h> using namespace std; //check if points are collinear or not void check_collinear(int x1, int y1, int x2, int y2, int x3, int y3){ int a = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2); if (a == 0) cout << "yes points are collinear"; else cout << "no points are not collinear"; } int main(){ int x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5; check_collinear(x1, y1, x2, y2, x3, y3); return 0; }
Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
no points are not collinear