Nội dung Bài tập
- Mã:
- [LTHDT]ThiGiuaKy
- Tên:
- [LTHDT]ThiGiuaKy 01
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 64 MB
- Được tạo bởi:
- tamtd
Xây dựng lớp Vector trong không gian có dạng v(x, y, z), trong đó x, y, z là tọa độ của vector (kiểu integer).
YÊU CẦU 1:
a) Xây dựng lớp Vector thích hợp để lưu trữ thông tin theo mô tả.
b) Xây dựng 3 phương thức khởi tạo cho lớp Vector như sau:
Prototype:- Phương thức khởi tạo không tham số, khởi tạo mặc định các tọa độ trong vector đều bằng 0- Phương thức khởi tạo 3 tham số đặt tên là px, py, pz (kiểu integer) lần lượt là tọa độ x, y, z của vector.- Phương thức khởi tạo sao chép với tham số là vector pu. Vector mới được khởi tạo có tọa độ giống với vector pu.
Vector();Vector(int px, int py, int pz);Vector(const Vector& pu)
c) Xây dựng đầy đủ các getter và setter cho tọa độ của vector
Prototype:
d) Xây dựng phương thức để tính giá trị độ lớn vector theo công thức |u| = sqrt(x2 + y2 + z2), trong đó x, y, z lần lượt là tọa độ của vector u.int getX(); int getY(); int getZ();void setX(int px); void setY(int py); void setZ(int pz);
Prototype:
double F();
Lưu ý:
- sqrt là hàm tính căn bậc 2, trong thư viện cmath.
- Giá trị trả về là số thực làm tròn 2 số lẻ ở phần thập phân.
Vector operator+(Vector pv);
e) Xây dựng phương thức nạp chồng toán tử cộng + và trừ - 2 vector
u + v = (x1+x2, y1+y2, z1+z2)u - v = (x1 - x2, y1 - y2, z1 - z2)
trong đó x1, y1, z1 là tọa độ của vector u
Prototype:x2, y2, z2 là tọa độ của vector v
Vector operator+(Vector pv);
Vector operator-(Vector pv);
f) Xây dựng phương thức nạp chồng toán tử nhập >> và xuất << để nhập xuất tọa độ cho vector
f) Xây dựng phương thức nạp chồng toán tử nhập >> và xuất << để nhập xuất tọa độ cho vector
Prototype
istream& operator>>(istream& cin, Vector& pu);
ostream& operator<<(ostream& cout, Vector& pu);
Lưu ý:
- Tọa độ của vector phải xuất theo định dạng: (x,y,z)
- Không có khoảng trắng trong chuỗi xuất
Yêu cầu đề: (mỗi ý sai sẽ bị trừ 1 điểm)
+ Lớp và phương thức phải khai báo giống như đề.
+ Cài đặt các phương thức không được viết bên trong lớp
+ 1 lớp phải xây dựng 2 file (.h và .cpp)
YÊU CẦU 2:
Sử dụng Lớp Vector ở yêu cầu 1 để giải bài sau:
Input:
- Dòng 1: nhập 3 tọa độ của vector 1
- Dòng 2: nhập 3 tọa độ của vector 2
Output:
- Dòng 1: xuất tọa độ vector 1
- Dòng 2: xuất giá trị của vector 1
- Dòng 3: xuất tọa độ vector 2
- Dòng 4: xuất giá trị của vector 2
- Dòng 5: xuất tọa độ của vector tổng bằng cách lấy vector 1 + vector 2
- Dòng 6: xuất tọa độ của vector hiệu bằng cách lấy vector 1 - vector 2
Ví dụ:
Input:
5 2 3
4 5 1
Output:
(5,2,3)
6.16
(4,5,1)
6.48
(9,7,4)
(1,-3,2)
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận