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
#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; }
Ad cho em hỏi chút ạ!
Em đang học phần Class mà em không biết làm phần chèn 1 nhân viên mới vào vị trí k trong danh sách, ad có thể giúp em được không ạ?
Em cảm ơn nhiều ạ!!!
huhu.e cũng không biết làm. 2 năm rồi ko biết a còn nhớ không ╥﹏╥