[BT Lập trình hướng đối tượng – OOP] Class mảng căn bản
Link Submit : LOPMANG 1. Đề bài về Class mảng căn bản Xây dựng lớp mảng cho phép thực hiện các thao tác sau: Nhập, xuất mảng. Lấy kích thước mảng. Lấy phần tử tại vị trí nào đó. Gán giá trị cho phần tử tại vị trí nào đó. Tìm phần tử nào đó trong mảng. Sắp xếp tăng, giảm ...
Link Submit : LOPMANG
1. Đề bài về Class mảng căn bản
Xây dựng lớp mảng cho phép thực hiện các thao tác sau:
- Nhập, xuất mảng.
- Lấy kích thước mảng.
- Lấy phần tử tại vị trí nào đó.
- Gán giá trị cho phần tử tại vị trí nào đó.
- Tìm phần tử nào đó trong mảng.
- Sắp xếp tăng, giảm
Yêu cầu áp dụng lớp mảng ở trên để viết chương trình giải bài sau:
Input
– Dòng 1: nhập vào 1 số nguyên X (x<=100)
– Nhập vào 1 dãy số (không cho biết trước số lượng phần tử – chỉ biết số lượng phần tử <=100 và mỗi phần tử có giá trị <=100)
Output
– Dòng 1: số lượng phần tử của mảng
– Dòng 2: Xuất TRUE nếu có giá trị X trong mảng, xuất FALSE nếu không có giá trị X trong mảng
– Dòng 3: xuất mảng theo thứ tự tăng dần
– Dòng 4: Sau khi phần tử đầu mảng tăng lên 1 đơn vị (mảng ban đầu) hãy xuất mảng theo thứ tự giảm dần
ví dụ
input
3
2 1 3 4
output
4
TRUE
1 2 3 4
4 3 3 1
2. Code tham khảo về Class mảng căn bản
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include <iostream> #include <algorithm> #include<functional> // std::greater #include <vector> using namespace std; class Mang { private: int a[100]; int n; public: Mang(){ n =0; } ~Mang() {} int getAi(int i) { return a[i]; } void nhap() { int xx; n = 0; while (cin >> xx) { a[n++] = xx; } } void xuat() { for (int i = 0; i < n; i++) cout << a[i] << " "; cout << endl; } int getspt() { return n; } void set(int i, int x) { a[i] = x; } int tim(int x) { for (int i = 0; i < n; i++) if (a[i] == x) return i; return -1; } void sapxep(int tang) { if (tang == 1) sort(a, a+n); else sort(a , a + n, greater<int>()); } }; int main() { int x; cin >> x; Mang B; B.nhap(); Mang C = B; cout << B.getspt() << endl; cout << (B.tim(x)!=-1 ? "TRUE" : "FALSE") << endl; B.sapxep(1); B.xuat(); C.set(0, C.getAi(0) + 1); C.sapxep(0); C.xuat(); system("pause"); return 0; } |