From 07b876a9b367804c13439e5b06bc3bf62dead696 Mon Sep 17 00:00:00 2001 From: MinhHuy1507 Date: Tue, 24 Oct 2023 18:54:17 +0700 Subject: [PATCH] 178 - 238 Done --- 2. Bai178/Source.cpp | 18 +++--- 2. Bai183/Source.cpp | 52 ++++++++++++++++- 2. Bai188/Source.cpp | 94 ++++++++++++++++++++++++++++++ 2. Bai193/Source.cpp | 64 +++++++++++++++++++++ 2. Bai198/Source.cpp | 90 +++++++++++++++++++++++++++++ 2. Bai203/Source.cpp | 101 ++++++++++++++++++++++++++++++++ 2. Bai208/Source.cpp | 60 +++++++++++++++++++ 2. Bai213/Source.cpp | 93 ++++++++++++++++++++++++++++++ 2. Bai218/Source.cpp | 34 ++++++++++- 2. Bai223/Source.cpp | 78 +++++++++++++++++++++++++ 2. Bai228/Source.cpp | 57 ++++++++++++++++++- 2. Bai233/Source.cpp | 133 +++++++++++++++++++++++++++++++++++++++++++ 2. Bai238/Source.cpp | 57 +++++++++++++++++++ 13 files changed, 919 insertions(+), 12 deletions(-) diff --git a/2. Bai178/Source.cpp b/2. Bai178/Source.cpp index 2ab623e..0a3c370 100644 --- a/2. Bai178/Source.cpp +++ b/2. Bai178/Source.cpp @@ -1,4 +1,5 @@ #include +#include using namespace std; struct Diem @@ -8,15 +9,14 @@ struct Diem }; typedef struct Diem DIEM; -void Nhap(DIEM&); -void Nhap(DIEM[], int&); +void Nhap(DIEM &); +void Nhap(DIEM[], int &); void Xuat(DIEM); void Xuat(DIEM[], int); - float KhoangCach(DIEM, DIEM); -void GanNhauNhat(DIEM[], int,DIEM&,DIEM&); +void GanNhauNhat(DIEM[], int, DIEM &, DIEM &); int main() { @@ -29,7 +29,7 @@ int main() return 0; } -void Nhap(DIEM& x) +void Nhap(DIEM &x) { cout << "\nNhap x: "; cin >> x.x; @@ -37,7 +37,7 @@ void Nhap(DIEM& x) cin >> x.y; } -void Nhap(DIEM a[], int& n) +void Nhap(DIEM a[], int &n) { cout << "Nhap n: "; cin >> n; @@ -67,12 +67,12 @@ float KhoangCach(DIEM P, DIEM Q) return sqrt((P.x - Q.x) * (P.x - Q.x) + (P.y - Q.y) * (P.y - Q.y)); } -void GanNhauNhat(DIEM a[], int n,DIEM& P, DIEM& Q) +void GanNhauNhat(DIEM a[], int n, DIEM &P, DIEM &Q) { P = a[0]; Q = a[1]; - for(int i=0;i using namespace std; -int main() +struct PhanSo { + int Tu; + int Mau; +}; +typedef struct PhanSo PHANSO; + +void Nhap(PHANSO &); +void Xuat(PHANSO); +void Nhap(PHANSO[], int &); +void Xuat(PHANSO[], int); + +int main() +{ + PHANSO P[100]; + int n; + Nhap(P, n); + Xuat(P, n); return 0; +} + +void Nhap(PHANSO &P) +{ + cout << "\nNhap Tu: "; + cin >> P.Tu; + cout << "Nhap Mau: "; + cin >> P.Mau; +} + +void Xuat(PHANSO P) +{ + cout << "\nTu: " << P.Tu; + cout << "\nMau: " << P.Mau; +} + +void Nhap(PHANSO a[], int &n) +{ + cout << "Nhap so luong phan so: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "\nNhap a[" << i << "] = "; + Nhap(a[i]); + } +} + +void Xuat(PHANSO a[], int n) +{ + for (int i = 0; i < n; i++) + { + cout << "\na[" << i << "] = "; + Xuat(a[i]); + } } \ No newline at end of file diff --git a/2. Bai188/Source.cpp b/2. Bai188/Source.cpp index 9e1927f..6900cc4 100644 --- a/2. Bai188/Source.cpp +++ b/2. Bai188/Source.cpp @@ -1,8 +1,102 @@ #include using namespace std; +struct PhanSo +{ + int Tu; + int Mau; +}; +typedef struct PhanSo PHANSO; + +void Nhap(PHANSO&); +void Xuat(PHANSO); + +void Nhap(PHANSO[], int&); +void Xuat(PHANSO[], int); + +PHANSO DuongDau(PHANSO[], int); +int SoSanh(PHANSO, PHANSO); +PHANSO DuongNhoNhat(PHANSO[], int); + int main() { + PHANSO P[100]; + int n; + Nhap(P, n); + cout << "Duong nho nhat: "; + PHANSO temp = DuongNhoNhat(P, n); + Xuat(temp); + return 0; +} + +void Nhap(PHANSO& P) +{ + cout << "\nNhap Tu: "; + cin >> P.Tu; + cout << "Nhap Mau: "; + cin >> P.Mau; +} + +void Xuat(PHANSO P) +{ + cout << "\nTu: " << P.Tu; + cout << "\nMau: " << P.Mau; +} +void Nhap(PHANSO a[], int& n) +{ + cout << "Nhap so luong phan so: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "\nNhap a[" << i << "] = "; + Nhap(a[i]); + } +} + +void Xuat(PHANSO a[], int n) +{ + for (int i = 0; i < n; i++) + { + cout << "\na[" << i << "] = "; + Xuat(a[i]); + } +} + +PHANSO DuongDau(PHANSO a[], int n) +{ + for (int i = 0; i < n; i++) + { + if (a[i].Tu * a[i].Mau > 0) + return a[i]; + } + PHANSO temp{ -1,1 }; + return temp; +} + +int SoSanh(PHANSO x, PHANSO y) +{ + float a = (float)x.Tu / x.Mau; + float b = (float)y.Tu / y.Mau; + if (a > b) + return 1; + if (a < b) + return -1; return 0; +} + +PHANSO DuongNhoNhat(PHANSO a[], int n) +{ + if (n == 0) + { + PHANSO lc = { -1, 1 }; + return lc; + } + PHANSO lc = DuongDau(a, n); + for (int i = 0; i < n - 1; i++) + { + if (SoSanh(a[i], lc) == -1 && a[i].Tu * a[i].Mau > 0) + lc = a[i]; + } + return lc; } \ No newline at end of file diff --git a/2. Bai193/Source.cpp b/2. Bai193/Source.cpp index 9e1927f..30adfcc 100644 --- a/2. Bai193/Source.cpp +++ b/2. Bai193/Source.cpp @@ -1,8 +1,72 @@ #include using namespace std; +struct SoPhuc +{ + float Thuc; + float Ao; +}; +typedef struct SoPhuc SOPHUC; + +void Nhap(SOPHUC&); +void Nhap(SOPHUC[], int&); + +void Xuat(SOPHUC); + +SOPHUC Tong(SOPHUC, SOPHUC); +SOPHUC Tong(SOPHUC[], int); + int main() { + SOPHUC a[100]; + int n; + Nhap(a, n); + + cout << "Tong cua cac so phuc: "; + Xuat(Tong(a, n)); return 0; +} + +void Nhap(SOPHUC& x) +{ + cout << "\nNhap thuc: "; + cin >> x.Thuc; + cout << "Nhap ao: "; + cin >> x.Ao; +} + +void Nhap(SOPHUC a[], int& n) +{ + cout << "Nhap n: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "Nhap a[" << i << "]: "; + Nhap(a[i]); + } +} + +void Xuat(SOPHUC x) +{ + cout << "\nThuc = " << x.Thuc; + cout << "\nAo = " << x.Ao; +} + +SOPHUC Tong(SOPHUC x, SOPHUC y) +{ + SOPHUC temp{}; + temp.Thuc = x.Thuc + y.Thuc; + temp.Ao = x.Ao + y.Ao; + return temp; +} + +SOPHUC Tong(SOPHUC a[], int n) +{ + SOPHUC s = { 0,0 }; + for (int i = 0; i < n; i++) + { + s = Tong(s, a[i]); + } + return s; } \ No newline at end of file diff --git a/2. Bai198/Source.cpp b/2. Bai198/Source.cpp index 9e1927f..c44e431 100644 --- a/2. Bai198/Source.cpp +++ b/2. Bai198/Source.cpp @@ -1,8 +1,98 @@ #include +#include using namespace std; +struct Diem +{ + float x; + float y; +}; +typedef struct Diem DIEM; + +struct DuongTron +{ + DIEM I; + float R; +}; +typedef struct DuongTron DUONGTRON; + +void Nhap(DIEM&); +void Nhap(DUONGTRON&); +void Nhap(DUONGTRON[], int&); + +void Xuat(DIEM); +void Xuat(DUONGTRON); + +float KhoangCach(DIEM); +float KhoangCachGoc(DUONGTRON); +DUONGTRON GanGocNhat(DUONGTRON a[], int n); + int main() { + DUONGTRON a[100]; + int n; + Nhap(a, n); + cout << "\nDuong tron gan goc toa do nhat: \n"; + Xuat(GanGocNhat(a, n)); return 0; +} + +void Nhap(DIEM& I) +{ + cout << "\nNhap x: "; + cin >> I.x; + cout << "Nhap y: "; + cin >> I.y; +} + +void Nhap(DUONGTRON& c) +{ + cout << "\nNhap tam I: "; + Nhap(c.I); + cout << "\nNhap R: "; + cin >> c.R; +} + +void Nhap(DUONGTRON a[], int& n) +{ + cout << "Nhap so duong tron: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "\nNhap a[" << i << "] = "; + Nhap(a[i]); + } +} + +void Xuat(DIEM I) +{ + cout << "(" << I.x << ", " << I.y << ")"; +} + +void Xuat(DUONGTRON c) +{ + cout << "\nI = "; + Xuat(c.I); + cout << "R = " << c.R; +} + +float KhoangCach(DIEM I) +{ + return sqrt(I.x * I.x + I.y * I.y); +} + +float KhoangCachGoc(DUONGTRON c) +{ + float kc = KhoangCach(c.I); + return abs(kc - c.R); +} + +DUONGTRON GanGocNhat(DUONGTRON a[], int n) +{ + DUONGTRON lc = a[0]; + for (int i = 0; i < n; i++) + if (KhoangCachGoc(lc) > KhoangCachGoc(a[i])) + lc = a[i]; + return lc; } \ No newline at end of file diff --git a/2. Bai203/Source.cpp b/2. Bai203/Source.cpp index 9e1927f..beced37 100644 --- a/2. Bai203/Source.cpp +++ b/2. Bai203/Source.cpp @@ -1,8 +1,109 @@ #include +#include using namespace std; +struct Diem +{ + float x; + float y; +}; +typedef struct Diem DIEM; + +struct DuongTron +{ + DIEM I; + float R; +}; +typedef struct DuongTron DUONGTRON; + +void Nhap(DIEM&); +void Nhap(DUONGTRON&); +void Nhap(DUONGTRON[], int&); + +void Xuat(DIEM); +void Xuat(DUONGTRON); + +float KhoangCach(DIEM, DIEM); +int TuongDoi(DUONGTRON, DUONGTRON); +void LietKe(DUONGTRON[], int); + int main() { + DUONGTRON a[100]; + int n; + Nhap(a, n); + LietKe(a, n); return 0; +} + +void Nhap(DIEM& P) +{ + cout << "Nhap x: "; + cin >> P.x; + cout << "Nhap y: "; + cin >> P.y; +} + +void Nhap(DUONGTRON& c) +{ + cout << "\nNhap tam:\n"; + Nhap(c.I); + cout << "Nhap ban kinh: "; + cin >> c.R; +} + +void Xuat(DIEM I) +{ + cout << "(" << I.x << ", " << I.y << ")"; +} + +void Xuat(DUONGTRON c) +{ + cout << "\nI = "; + Xuat(c.I); + cout << "\nR = " << c.R; +} + +float KhoangCach(DIEM A, DIEM B) +{ + return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y)); +} + +void Nhap(DUONGTRON a[], int& n) +{ + cout << "Nhap n: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "Nhap a[" << i << "]: "; + Nhap(a[i]); + } +} + +int TuongDoi(DUONGTRON c1, DUONGTRON c2) +{ + float kc = KhoangCach(c1.I, c2.I); + if (kc == 0 && c1.R == c2.R) + return 0; + if (kc > (c1.R + c2.R)) + return 1; + if (kc == (c1.R + c2.R)) + return 2; + if (kc<(c1.R + c2.R) && kc >abs(c1.R - c2.R)) + return 3; + if (kc == abs(c1.R - c2.R)) + return 4; + return 5; +} + +void LietKe(DUONGTRON a[], int n) +{ + for(int i = 0; i <= n - 2; i++) + for(int j = i + 1; j <= n - 1; j++) + if (TuongDoi(a[i], a[j]) == 2 || TuongDoi(a[i], a[j]) == 4) + { + Xuat(a[i]); + Xuat(a[j]); + } } \ No newline at end of file diff --git a/2. Bai208/Source.cpp b/2. Bai208/Source.cpp index 9e1927f..7e64f39 100644 --- a/2. Bai208/Source.cpp +++ b/2. Bai208/Source.cpp @@ -1,8 +1,68 @@ #include using namespace std; +struct DuongThang +{ + float a; + float b; + float c; +}; +typedef struct DuongThang DUONGTHANG; + +void Nhap(DUONGTHANG&); +void Nhap(DUONGTHANG[], int&); + +bool KtSongSong(DUONGTHANG, DUONGTHANG); +bool KtSongSong(DUONGTHANG[], int); + int main() { + DUONGTHANG a[100]; + int n; + Nhap(a, n); + + if (KtSongSong(a, n)) + cout << "Cac duong thang song song"; + else + cout << "Cac duong thang khong cung song song"; return 0; +} + +void Nhap(DUONGTHANG& l) +{ + cout << "Nhap a: "; + cin >> l.a; + cout << "Nhap b: "; + cin >> l.b; + cout << "Nhap c: "; + cin >> l.c; +} + +void Nhap(DUONGTHANG a[], int& n) +{ + cout << "Nhap n: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "Nhap a[" << i << "]: "; + Nhap(a[i]); + } +} + +bool KtSongSong(DUONGTHANG d1, DUONGTHANG d2) +{ + float D = d1.a * d2.b - d2.a * d1.b; + float Dx = -d1.c * d2.b + d2.c * d1.b; + if (D == 0 && Dx != 0) + return true; + return false; +} + +bool KtSongSong(DUONGTHANG a[], int n) +{ + for (int i = 0; i < n; i++) + if (!KtSongSong(a[0], a[i])) + return false; + return true; } \ No newline at end of file diff --git a/2. Bai213/Source.cpp b/2. Bai213/Source.cpp index 9e1927f..b7f48f3 100644 --- a/2. Bai213/Source.cpp +++ b/2. Bai213/Source.cpp @@ -1,8 +1,101 @@ #include using namespace std; +struct Diem +{ + float x; + float y; +}; +typedef struct Diem DIEM; + +struct DuongThang +{ + float a; + float b; + float c; +}; +typedef struct DuongThang DUONGTHANG; + +void Nhap(DUONGTHANG&); +void Nhap(DUONGTHANG[], int&); + +int ktCat(DUONGTHANG, DUONGTHANG); +DIEM GiaoDiem(DUONGTHANG, DUONGTHANG); +int ktThuoc(DUONGTHANG, DIEM); +int ktDongQuy(DUONGTHANG[], int); + int main() { + DUONGTHANG a[100]; + int n; + Nhap(a, n); + if (ktDongQuy(a, n)) + cout << "\nCac duong thang dong quy"; + else + cout << "\nkhong dong quy"; + + return 0; +} + +void Nhap(DUONGTHANG& l) +{ + cout << "\nNhap a: "; + cin >> l.a; + cout << "Nhap b: "; + cin >> l.b; + cout << "Nhap c: "; + cin >> l.c; +} + +void Nhap(DUONGTHANG a[], int& n) +{ + cout << "Nhap n: "; + cin >> n; + for (int i = 0; i < n; i++) + { + cout << "Nhap a[" << i << "]: "; + Nhap(a[i]); + } +} + +int ktCat(DUONGTHANG d1, DUONGTHANG d2) +{ + float D = d1.a * d2.b - d2.a * d1.b; + if (D != 0) + return 1; + return 0; +} + +DIEM GiaoDiem(DUONGTHANG d1, DUONGTHANG d2) +{ + float D = d1.a * d2.b - d2.a * d1.b; + float Dx = -d1.c * d2.b + d2.c * d1.b; + float Dy = -d1.a * d2.c + d2.a * d1.c; + + DIEM temp{}; + temp.x = Dx / D; + temp.y = Dy / D; + return temp; +} + +int ktThuoc(DUONGTHANG d, DIEM P) +{ + if ((d.a * P.x + d.b * P.y + d.c) == 0) + return 1; + return 0; +} + +int ktDongQuy(DUONGTHANG a[], int n) +{ + for(int i=0;i using namespace std; -int main() +struct Diem { + float x; + float y; +}; +typedef Diem DIEM; + +void Nhap(DIEM&); +void Nhap(DIEM[], int&, int&); +int main() +{ + cout << "Da dinh nghia ham nhap ma tran diem"; return 0; +} + +void Nhap(DIEM& X) +{ + cout << "\nNhapHoanhDo:"; + cin >> X.x; + cout << "NhapTungDo:"; + cin >> X.y; +} + +void Nhap(DIEM a[][100], int& m, int& n) +{ + cout << "Nhap so hang: "; + cin >> m; + cout << "Nhap so cot: "; + cin >> n; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "Nhap a[" << i << "][" << j << "]:\n"; + Nhap(a[i][j]); + } } \ No newline at end of file diff --git a/2. Bai223/Source.cpp b/2. Bai223/Source.cpp index 9e1927f..be6d8cf 100644 --- a/2. Bai223/Source.cpp +++ b/2. Bai223/Source.cpp @@ -1,8 +1,86 @@ #include using namespace std; +struct diem +{ + float x; + float y; +}; +typedef struct diem DIEM; + +struct DuongThang +{ + float a; + float b; + float c; +}; +typedef struct DuongThang DUONGTHANG; + +void Nhap(DIEM&); +void Nhap(DIEM[][100], int&, int&); +void Nhap(DUONGTHANG&); + +int ktThuoc(DUONGTHANG, DIEM); +int DemDiem(DIEM[][100], int, int, DUONGTHANG); + int main() { + DIEM a[100][100]; + int m, n; + cout << "Nhap ma tran cac diem:" << endl; + Nhap(a, m, n); + + DUONGTHANG d; + Nhap(d); + + cout << "So diem thuoc duong thang la: " << DemDiem(a, m, n, d); return 0; +} + +void Nhap(DIEM& P) +{ + cout << "Nhap x: "; + cin >> P.x; + cout << "Nhap y: "; + cin >> P.y; +} + +void Nhap(DIEM a[][100], int& m, int& n) +{ + cout << "Nhap so luong diem: "; + cin >> m; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "\nNhap diem thu " << i + 1 << ": "; + Nhap(a[i][j]); + } +} + +void Nhap(DUONGTHANG& d) +{ + cout << "Nhap a: "; + cin >> d.a; + cout << "Nhap b: "; + cin >> d.b; + cout << "Nhap c: "; + cin >> d.c; +} + +int ktThuoc(DUONGTHANG d, DIEM P) +{ + if (d.a * P.x + d.b * P.y + d.c == 0) + return 1; + return 0; +} + +int DemDiem(DIEM a[][100], int m, int n, DUONGTHANG d) +{ + int dem = 0; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + if (ktThuoc(d, a[i][j])) + dem++; + return dem; } \ No newline at end of file diff --git a/2. Bai228/Source.cpp b/2. Bai228/Source.cpp index 9e1927f..a71928e 100644 --- a/2. Bai228/Source.cpp +++ b/2. Bai228/Source.cpp @@ -1,8 +1,63 @@ #include using namespace std; -int main() +struct PhanSo { + int Tu; + int Mau; +}; +typedef struct PhanSo PHANSO; + +void Nhap(PHANSO&); +void Nhap(PHANSO[][100], int&, int&); +void Xuat(PHANSO); +void Xuat(PHANSO[][100], int, int); + +int main() +{ + PHANSO a[100][100]; + int m, n; + Nhap(a, m, n); + Xuat(a, m, n); return 0; +} + +void Nhap(PHANSO& x) +{ + cout << "\nNhap Tu:"; + cin >> x.Tu; + cout << "Nhap Mau:"; + cin >> x.Mau; +} + +void Nhap(PHANSO a[][100], int& m, int& n) +{ + cout << "Nhap so hang: "; + cin >> m; + cout << "Nhap so cot: "; + cin >> n; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "Nhap a[" << i << "][" << j << "]:\n"; + Nhap(a[i][j]); + } +} + + +void Xuat(PHANSO x) +{ + cout << x.Tu << "/" << x.Mau << endl; +} + +void Xuat(PHANSO a[][100], int m, int n) +{ + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "a[" << i << "][" << j << "]:"; + Xuat(a[i][j]); + cout << endl; + } } \ No newline at end of file diff --git a/2. Bai233/Source.cpp b/2. Bai233/Source.cpp index 9e1927f..187a8fc 100644 --- a/2. Bai233/Source.cpp +++ b/2. Bai233/Source.cpp @@ -1,8 +1,141 @@ #include using namespace std; +struct PhanSo +{ + int Tu; + int Mau; +}; +typedef struct PhanSo PHANSO; + +void Nhap(PHANSO&); +void Nhap(PHANSO[][100], int&, int&); + +void Xuat(PHANSO); +void Xuat(PHANSO[], int); +void Xuat(PHANSO[][100], int, int); + +int UCLN(int, int); +int ktToiGian(PHANSO); +void HoanVi(PHANSO&, PHANSO&); +void SapTang(PHANSO[], int); +void LietKe(PHANSO[][100], int, int); + + int main() { + PHANSO a[100][100]; + int m, n; + Nhap(a, m, n); + LietKe(a, m, n); return 0; +} + +void Nhap(PHANSO& x) +{ + cout << "\nNhap Tu:"; + cin >> x.Tu; + cout << "Nhap Mau:"; + cin >> x.Mau; +} + +void Nhap(PHANSO a[][100], int& m, int& n) +{ + cout << "Nhap so hang: "; + cin >> m; + cout << "Nhap so cot: "; + cin >> n; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "Nhap a[" << i << "][" << j << "]:\n"; + Nhap(a[i][j]); + } +} + + +void Xuat(PHANSO x) +{ + cout << x.Tu << "/" << x.Mau << endl; +} + +void Xuat(PHANSO a[], int n) +{ + for (int i = 0; i < n; i++) + { + cout << "\na[" << i << "] = "; + Xuat(a[i]); + } +} + +void Xuat(PHANSO a[][100], int m, int n) +{ + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "a[" << i << "][" << j << "]:"; + Xuat(a[i][j]); + cout << endl; + } +} + +int UCLN(int a, int b) +{ + int m = abs(a); + int n = abs(b); + while (m * n != 0) + { + if (m > n) + m = m - n; + else + n = n - m; + } + return m + n; +} + +void HoanVi(PHANSO& a, PHANSO& b) +{ + PHANSO temp{}; + temp = a; + a = b; + b = temp; +} + +int SoSanh(PHANSO a, PHANSO b) +{ + float m = (float)a.Tu / a.Mau; + float n = (float)b.Tu / b.Mau; + if (m > n) + return 1; + if (m < n) + return -1; + return 0; +} + +void SapTang(PHANSO a[], int n) +{ + for (int i = 0; i < n - 1; i++) + for (int j = i + 1; j < n; j++) + if (SoSanh(a[i], a[j]) == 1) + HoanVi(a[i], a[j]); +} + +int ktToiGian(PHANSO a) +{ + if (UCLN(a.Tu, a.Mau) == 1 && a.Tu / a.Mau == 0) + return 1; + return 0; +} + +void LietKe(PHANSO a[][100], int m, int n) +{ + PHANSO b[1000]; + int k = 0; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + if (ktToiGian(a[i][j])) + b[k++] = a[i][j]; + SapTang(b, k); + Xuat(b, k); } \ No newline at end of file diff --git a/2. Bai238/Source.cpp b/2. Bai238/Source.cpp index 9e1927f..7166908 100644 --- a/2. Bai238/Source.cpp +++ b/2. Bai238/Source.cpp @@ -1,8 +1,65 @@ #include using namespace std; +struct SoPhuc +{ + float Thuc; + float Ao; +}; +typedef struct SoPhuc SOPHUC; + +void Nhap(SOPHUC&); +void Nhap(SOPHUC[][100], int&, int&); +int ktDong(SOPHUC[][100], int, int, int); +int DemDong(SOPHUC[][100], int, int); + int main() { + SOPHUC a[100][100]; + int m, n; + cout << "Nhap ma tran cac so phuc:" << endl; + Nhap(a, m, n); + cout << "So dong chua phan thuc va ao trai dau: " << DemDong(a, m, n); return 0; +} + +void Nhap(SOPHUC& x) +{ + cout << "Nhap thuc: "; + cin >> x.Thuc; + cout << "Nhap ao: "; + cin >> x.Ao; +} + +void Nhap(SOPHUC a[][100], int& m, int& n) +{ + cout << "\nNhap so hang: "; + cin >> m; + cout << "Nhap so cot: "; + cin >> n; + for (int i = 0; i < m; i++) + for (int j = 0; j < n; j++) + { + cout << "\nNhap so phuc thu a[" << i << "][" << j << "]: "; + Nhap(a[i][j]); + } +} + +int ktDong(SOPHUC a[][100], int m, int n, int d) +{ + int flag = 1; + for (int j = 0; j < n; j++) + if (a[d][j].Thuc * a[d][j].Ao >= 0) + flag = 0; + return flag; +} + +int DemDong(SOPHUC a[][100], int m, int n) +{ + int dem = 0; + for (int i = 0; i < m; i++) + if (ktDong(a, m, n, i)) + dem++; + return dem; } \ No newline at end of file