[C++]Viết chương trình nhập toạ độ 2 điểm P(xP, yP), Q(xQ,yQ)

Gửi tới bạn đọc hướng dẫn giải bài toán viết chương trình nhập vào toạ độ 2 điểm ngôn ngữ lập trình c++. Mời bạn đọc tham khảo

Bài trước >> Bài 5: Viết chương trình nhập vào một số nguyên N gồm ba chữ số. Xuất ra màn hình chữ số lớn nhất ở vị trí nào? tìm chữ số lớn nhất của một số nguyên dương n c++

1.Yêu cầu bài toán

Bài 6: Nhập vào từ bàn phím toạ độ 2 điểm P, Q với P(xP, yP), Q(xQ,yQ)

  1. In ra màn hình phương trình đường thẳng đi qua 2 điểm PQ.
  2. Cho điểm I có toạ độ I(xI, yI). Hãy cho biết điểm I có thuộc đường thẳng đi qua 2 điểm PQ hay không?

Gợi ý:

Phương trình đường thẳng đi qua 2 điểm AB có dạng:  Ax +By + C=0

Trong đó A= yQ-yP, B= xP-xQ, C=xQ*yP – xP* yQ

Đặt F(xI,yI)= AxI+ ByI +C.

  • Nếu F(xI, yI)= 0 thì I thuộc đường thẳng PQ
  • Nếu F(xI, yI) != 0 thì I không thuộc đường thẳng PQ

2. Phân tích bài toán

– Để in ra màn hình phương trình đường thẳng đi qua 2 điểm PQ, ta cần nhập toạ độ 2 điểm P và Q từ bàn phím, sau đó tính các giá trị A, B, C theo công thức: A = yQ – yP, B = xP – xQ, C = xQ * yP – xP * yQ. Cuối cùng, in ra màn hình phương trình đường thẳng dạng Ax + By + C = 0.

cout<<"Nhap toa do xP: "; cin>>xP;
cout<<"Nhap toa do yP: "; cin>>yP;

cout<<"Nhap toa do xQ: "; cin>>xQ;
cout<<"Nhap toa do yQ: "; cin>>yQ;

A=yQ-yP;
B=xP-xQ;
C=xQ*yP - xP*yQ;

cout<<"Phuong trinh duong thang la: "<<endl;
cout<<A<<"x + "<<B<<"y +"<<C<<" = 0"<<endl;

– Kiểm tra điểm I có thuộc đường thẳng đi qua 2 điểm PQ hay không, ta cần nhập toạ độ điểm I từ bàn phím, sau đó tính giá trị F(xI, yI) theo công thức F(xI, yI) = AxI + ByI + C. Nếu F(xI, yI) = 0, thì điểm I thuộc đường thẳng, ngược lại điểm I không thuộc đường thẳng.

cout<<"Nhap toa do xI: "; cin>>xI;
cout<<"Nhap toa do yI: "; cin>>yI;

F= A*xI +B*yI +C;

if(F==0){
    cout<<" I thuoc duong thang PQ";
}else{
    cout<<" I khong thuoc duong thang PQ";
    }

3. Code chương trình nhập vào từ bàn phím 2 điểm PQ c++

#include<iostream>
#include<iomanip>

using namespace std;

int main(){

    int xP, yP, xQ, yQ, xI, yI;
    float A, B, C, F;

    cout<<"Nhap toa do xP: "; cin>>xP;
    cout<<"Nhap toa do yP: "; cin>>yP;

    cout<<"Nhap toa do xQ: "; cin>>xQ;
    cout<<"Nhap toa do yQ: "; cin>>yQ;

    A=yQ-yP;
    B=xP-xQ;
    C=xQ*yP - xP*yQ;

    cout<<"Phuong trinh duong thang la: "<<endl;
    cout<<A<<"x + "<<B<<"y +"<<C<<" = 0"<<endl;
    cout<<endl;

    cout<<"Nhap toa do xI: "; cin>>xI;
    cout<<"Nhap toa do yI: "; cin>>yI;

    F= A*xI +B*yI +C;

    if(F==0){
        cout<<" I thuoc duong thang PQ";
    }else{
        cout<<" I khong thuoc duong thang PQ";
    }
}

4.Kết quả

Chạy thử chương trình với bộ test A(1,2), B(3,-1)

Viết chương trình nhập vào tọa độ 2 điểm PQ

Bài tiếp theo>> Bài 8 (TH-CSLT-06): Viết chương trình nhập vào 3 số thực a, b, c. Kiểm tra 3 cạnh tam giác có thoả mãn hay không. Nếu là tam giác thì đó là tam giác gì thường, cân, đều, vuông, vuông cân, …?

Tải tài liệu thực hành bài tập ngôn ngữ lập trình C/C++

Trên đây là lời giải bài toán chương trình nhập vào toạ độ 2 điểm PQ và in ra màn hình phương trình đường thẳng ngôn ngữ lập trình C++. Cảm ơn các bạn đã theo dõi trên ttnguyen.net

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em