[C] Điểm Oxy

Tác giả:

  • Trần Hán Huy – tranhanhuy.wordpress.com

Sách:

  • Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang

Đề bài

  • Điểm trong mặt phẳng Oxy
    540 khai báo dữ liệu điểm OXY
    541 Nhập tọa độ điểm trong mặt phẳng
    542 Xuất tọa độ điểm trong mặt phẳng
    543 Tính khoảng cách giữa 2 điểm
    544 Tính khoảng cách 2 điểm theo phương Ox
    545 Tính khoảng cách 2 điểm theo phương Oy
    546 Tìm tọa độ điểm đối xứng qua gốc tọa độ
    547 Tìm điểm đối xứng qua trục hoành
    548 Tìm điểm đối xứng qua trục tung
    549 Tìm điểm đối xứng qua đường phân giác thứ 1 (y=x)
    550 Tìm điểm đối xứng qua đường phân giác thứ 2 (y=-x)
    551 Kiểm tra điểm thuộc phần tư thứ 1 ko?
    552 Kiểm tra điểm thuộc phần tư thứ 2 ko?
    553 Kiểm tra điểm thuộc phần tư thứ 3 ko?
    554 Kiểm tra điểm thuộc phần tư thứ 4 ko?

Code

/*Nick yahoo: conloyal*/
/*Soft: visual studio 2008*/

#include <stdio.h>
#include <math.h>
//540 khai báo dữ liệu điểm OXY
struct Diem
{
    float fX;
    float fY;
};
//541 Nhập tọa độ điểm trong mặt phẳng
void Nhap(Diem &a)
{
    printf("Nhap X: ");
    scanf_s("%f",&a.fX);
    printf("Nhap Y: ");
    scanf_s("%f",&a.fY);
}
//542 Xuất tọa độ điểm trong mặt phẳng
void Xuat(Diem a)
{
    printf("<%.2f,%.2f>", a.fX,a.fY);
}
//543 Tính khoảng cách giữa 2 điểm
float KhoangCach2Diem(Diem a, Diem b)
{
    float X = pow((b.fX - a.fX),2);
    float Y = pow((b.fY - a.fY),2);
    return sqrt(X + Y);
}
//544 Tính khoảng cách 2 điểm theo phương Ox
float KhoangCach2DiemTheoOx(Diem a, Diem b)
{
    return fabs(a.fX - b.fX);
}
//545 Tính khoảng cách 2 điểm theo phương Oy
float KhoangCach2DiemTheoOy(Diem a, Diem b)
{
    return fabs(a.fY - b.fY);
}
//546 Tìm tọa độ điểm đối xứng qua gốc tọa độ
Diem DiemDoiXungQuaO(Diem a)
{
    Diem c;
    c.fX = -1*a.fX;
    c.fY = -1*a.fY;
    return c;
}
//547 Tìm điểm đối xứng qua trục hoành
Diem DiemDoiXungQuaOx(Diem a)
{
    Diem c;
    c.fX = 1*a.fX;
    c.fY = -1*a.fY;
    return c;
}
//548 Tìm điểm đối xứng qua trục tung
Diem DiemDoiXungQuaOy(Diem a)
{
    Diem c;
    c.fX = -1*a.fX;
    c.fY = 1*a.fY;
    return c;
}
//549 Tìm điểm đối xứng qua đường phân giác thứ 1 (y=x)
Diem DiemDoiXungQuaPhanGiac1(Diem a)
{
    Diem c;
    c.fX = 1*a.fY;
    c.fY = 1*a.fX;
    return c;
}
//550 Tìm điểm đối xứng qua đường phân giác thứ 2 (y=-x)
Diem DiemDoiXungQuaPhanGiac2(Diem a)
{
    Diem c;
    c.fX = -1*a.fY;
    c.fY = -1*a.fX;
    return c;
}
//551 Kiểm tra điểm thuộc phần tư thứ 1 ko?
bool KiemTraPhanTu1(Diem a)
{
    if (a.fX > 0 && a.fY >0)
        return true;
    return false;
}
//552 Kiểm tra điểm thuộc phần tư thứ 2 ko?
bool KiemTraPhanTu2(Diem a)
{
    if (a.fX < 0 && a.fY >0)
        return true;
    return false;
}
//553 Kiểm tra điểm thuộc phần tư thứ 3 ko?
bool KiemTraPhanTu3(Diem a)
{
    if (a.fX < 0 && a.fY <0)
        return true;
    return false;
}
//554 Kiểm tra điểm thuộc phần tư thứ 4 ko?
bool KiemTraPhanTu4(Diem a)
{
    if (a.fX > 0 && a.fY <0)
        return true;
    return false;
}
void main()
{
    Diem a, b;
    Nhap(a);
    Nhap(b);
    printf("\nDiem a: ");
    Xuat(a);
    printf("\nDiem b: ");
    Xuat(b);
    printf("\nKhoang cach 2 diem: %.2f", KhoangCach2Diem(a,b));
    printf("\nKhoang cach 2 diem theo Ox: %.2f", KhoangCach2DiemTheoOx(a,b));
    printf("\nKhoang cach 2 diem theo Oy: %.2f", KhoangCach2DiemTheoOy(a,b));
    Diem c;
    c = DiemDoiXungQuaO(a);
    printf("\nDiem doi xung qua O cua a: ");
    Xuat(c);
    c = DiemDoiXungQuaOx(a);
    printf("\nDiem doi xung qua Ox cua a: ");
    Xuat(c);
    c = DiemDoiXungQuaOy(a);
    printf("\nDiem doi xung qua Oy cua a: ");
    Xuat(c);
    c = DiemDoiXungQuaPhanGiac1(a);
    printf("\nDiem doi xung qua phan giac 1 cua a: ");
    Xuat(c);
    c = DiemDoiXungQuaPhanGiac2(a);
    printf("\nDiem doi xung qua phan giac 2 cua a: ");
    Xuat(c);
    if (KiemTraPhanTu1(a))
        printf("\na thuoc phan tu thu 1");
    else
        printf("\na ko thuoc phan tu thu 1");
    if (KiemTraPhanTu2(a))
        printf("\na thuoc phan tu thu 2");
    else
        printf("\na ko thuoc phan tu thu 2");
    if (KiemTraPhanTu3(a))
        printf("\na thuoc phan tu thu 3");
    else
        printf("\na ko thuoc phan tu thu 3");
    if (KiemTraPhanTu4(a))
        printf("\na thuoc phan tu thu 4");
    else
        printf("\na ko thuoc phan tu thu 4");
}
 

Link source:

Leave a comment