Link Submit : LOPMANG
Nội dung bài viết
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; } |
Bài viết liên quan
- [Học OOP] Bài 2: Tổng quan về lập trình hướng đối tượng
- Giải đề thi Lập trình hướng đối tượng UIT – Đề HK2 2016-2017
- [OOP] Xác định kiểu dữ liệu của đối tượng trong đa hình
- [Lập trình hướng đối tượng – OOP] Bài tập cơ bản về lớp (class) – Thực hành 2
- [Học OOP] Bài 9: Hiểu kế thừa như thế nào cho đúng trong hướng đối tượng (Phần 2)
- [Học OOP] Bài 8: Kế thừa trong lập trình hướng đối tượng c++ (Phần 1)
- [Học OOP] Bài 7: Overload toán tử trong Lập trình hướng đối tượng c++
- [Học OOP] Bài 6: Hàm bạn, lớp bạn trong hướng đối tượng c++
- [Học OOP] Bài 5: Static trong hướng đối tượng c++
- [Học OOP] Bài 4: Constructor, destructor và Copy constructor trong hướng đối tượng c++
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 ╥﹏╥