[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++

xoá phần tử trong mảng c++

tính tổng các phần tử trong mảng 2 chiều c++

1. Mô tả bài toán nhập toạ độ 2 điểm

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

Để giải bài toán, chúng ta cần thực hiện các bước sau:

  • Nhập toạ độ hai điểm P, Q
  • Tính hệ số A, B, C để xác định phương trình đường thẳng
  • Nhập toạ độ điểm I, kiểm tra và in kết quả

– Để 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

#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 chương trình

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, …?

thuật toán prim

kiểm tra số chính phương c++

thuật toán cờ caro

thuật toán kruskal c++

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