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:
- 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.
Prototype:
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:
int getX(); int getY(); int getZ(); 
void setX(int px); void setY(int py); void setZ(int pz);
d) Xây dựng phương thức để tính giá trị độ lớn vector theo công thức |u| = sqrt(x + y2 + z2)trong đó x, y, z lần lượt là tọa độ của vector u. 
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.
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
x2, y2, z2 là tọa độ của vector v
Prototype:
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
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)


    Quảng cáo
       Ngôn ngữ : 

       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