Các thành phần thuộc tính Biến nguyên n là số lượng điểm trong dãy. - Hai *x, *y là hai con trỏ, trỏ tới vùng nhớ chứa dãy hoành độ và tung độ. Viết chương trình nhập vào tọa độ (x,y) của một dãy điểm. Tìm cặp điểm có khoảng cách xa nhất. Hiển thị cặp điểm đó và khoảng cách ra màn hình theo 3 phương pháp sau - Sử dụng phương thức. - Sử dụng hàm tự do. - Sử dụng Hàm bạn. Demo Sử dụng phương thức CODE: Select All #include <iostream>#include <math.h>#include <malloc.h>using namespace std;class daydiem{private: int n; float *x, *y;public: float do_dai(int i, int j) { return sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2)); } void tinh() { int i, j, imax, jmax; float d, dmax; dmax = do_dai(1, 2); imax = 1; jmax = 2; for (i = 1; i <= n - 1; ++i) for (j = i + 1; j <= n; ++j) { d = do_dai(i, j); if (d > dmax) { dmax = d; imax = i; jmax = j; } } cout << "\nDoan thang lon nhat co do dai bang: " << dmax; cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax; cout << "\n"; } void nhapsl() { cout << "\nSo diem N= "; cin >> n; x = (float*)malloc((n + 1)*sizeof(float)); y = (float*)malloc((n + 1)*sizeof(float)); for (int i = 1; i <= n; ++i) { cout << "\nNhap toa do x, y cua diem thu " << i << ":"; cin >> x[i]; cin >> y[i]; } }};int main(){ daydiem p, d; p.nhapsl(); p.tinh(); system("pause");} - Sử dụng hàm tự do. CODE: Select All #include <iostream>#include <math.h>#include <malloc.h>using namespace std;class daydiem{public: int n; float *x, *y; float do_dai(int i, int j) { return sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2)); } void nhapsl() { cout << "\nSo diem N= "; cin >> n; x = (float*)malloc((n + 1)*sizeof(float)); y = (float*)malloc((n + 1)*sizeof(float)); for (int i = 1; i <= n; ++i) { cout << "\nNhap toa do x, y cua diem thu " << i << ":"; cin >> x[i]; cin >> y[i]; } }}; void tinh(daydiem a) { int n,i, j, imax, jmax; float d, dmax; n = a.n; dmax = a.do_dai(1, 2); imax = 1; jmax = 2; for (i = 1; i <= n - 1; ++i) for (j = i + 1; j <= n; ++j) { d = a.do_dai(i, j); if (d > dmax) { dmax = d; imax = i; jmax = j; } } cout << "\nDoan thang lon nhat co do dai bang: " << dmax; cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax; cout << "\n"; }int main(){ daydiem p, d; p.nhapsl(); tinh(p); system("pause");} Sử dụng hàm bạn CODE: Select All #include <iostream>#include <math.h>#include <malloc.h>using namespace std;class daydiem{ int n; float *x, *y;public: float do_dai(int i, int j) { return sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2)); } void nhapsl() { cout << "\nSo diem N= "; cin >> n; x = (float*)malloc((n + 1)*sizeof(float)); y = (float*)malloc((n + 1)*sizeof(float)); for (int i = 1; i <= n; ++i) { cout << "\nNhap toa do x, y cua diem thu " << i << ":"; cin >> x[i]; cin >> y[i]; } } friend void tinh(daydiem a) { int n,i, j, imax, jmax; float d, dmax; n = a.n; dmax = a.do_dai(1, 2); imax = 1; jmax = 2; for (i = 1; i <= n - 1; ++i) for (j = i + 1; j <= n; ++j) { d = a.do_dai(i, j); if (d > dmax) { dmax = d; imax = i; jmax = j; } } cout << "\nDoan thang lon nhat co do dai bang: " << dmax; cout << "\n Di qua 2 diem co chi so la " << imax << " va " << jmax; cout << "\n"; }};int main(){ daydiem p, d; p.nhapsl(); tinh(p); system("pause");}