Nội dung Bài tập
- Mã:
- OPERATOR2
- Tên:
- Điểm trong không gian
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 5 giây
- Giới hạn bộ nhớ:
- 64 MB
- Được tạo bởi:
- HCMUP1
Điểm trong không gian
Xây dựng cấu trúc điểm trong không gian Oxyz
- Viết quá tải toán tử nhập ( >> ) , xuất ( << ) (xuất theo dạng (x,y,z) )
- viết quá tải toán tử cộng ( + ) để cộng toạ độ 2 điểm
- viết quá tải toán tử trừ ( - ) để tính khoảng cách giữa 2 điểm
- viết quá tải toán tử so sánh nhỏ hơn ( < ) để so sánh toạ độ của 2 điểm (theo thứ tự từ điển)
- viết quá tải so sánh bằng ( == ) để kiểm tra 2 điểm trùng nhau
Xây dựng cấu trúc mảng lưu trữ cấu trúc điểm ở trên
- Viết quá tải toán tử nhập ( >> ) , xuất ( << )
- viết quá tải toán tử cộng ( + ) để cộng toạ độ 2 điểm tương ứng giữa 2 mảng
- viết quá tải toán tử trừ ( - ) trả về 1 mảng với các phần tử là khoảng cách giữa 2 điểm tương ứng giữa 2 mảng (c[i] = khoảng cách từ điểm a[i] đến b[i] )
- viết hàm tìm khoảng cách lớn nhất giữa 2 điểm trong mảng (tìm trong mảng 2 điểm sao cho khoảng cách giữa 2 điềm đó là lớn nhất )
- viết quá tải so sánh bằng ( == ) để kiểm tra 2 mảng có tất cả các điểm trùng nhau không
- viết hàm sắp xếp mảng tăng dần
- viết hàm sắp xếp mảng giảm dần
Dữ liệu nhập từ file "OPERATOR.inp":
- dòng 1: n là số phần tử của mảng 1, n dòng tiếp theo là n phần tử của mảng 1 (n >= 2)
- dòng n + 2: m là số phần tử của mảng 2, m dòng tiếp theo là m phần tử của mảng 2 (m >= 2)
Dữ liệu xuất ra file "OPERATOR.out":
- dòng 1 : xuất ra danh sách các phần tử của mảng 1 theo thứ tự tăng dần , mỗi phần tử cách nhau 1 khoảng trắng
- dòng 2: xuất ra khoảng cách lớn nhất giữa 2 điểm trong mảng 1, làm tròn đến 3 chữ số thập phân
- dòng 3 : xuất ra danh sách các phần tử của mảng 2 theo thứ tự giảm dần, mỗi phần tử cách nhau 1 khoảng trắng
- dòng 4: xuất ra khoảng cách lớn nhất giữa 2 điểm trong mảng 2, làm tròn đến 3 chữ số thập phân
- dòng 5 : xuất ra mảng với các phần tử là toạ độ tổng của 2 phần tử tương ứng của 2 mảng , mỗi phần tử cách nhau 1 khoảng trắng
- dòng 6 : xuất ra mảng với các phần tử là khoảng cách giữa 2 điểm tương ứng giữa 2 mảng, mỗi phần tử cách nhau 1 khoảng trắng ,mỗi phần tử làm tròn đến 3 chữ số thập phân
- dòng 7: nếu 2 mảng có tất cả các điểm tương ứng bằng nhau thì xuất ra "TRUE", ngược lại xuất "FALSE"
lưu ý: sử dụng roundf(n * 1000) / 1000 ; để làm tròn n tới 3 chữ số thập phân

input:
3
1 2 3
5 6 7
2 3 4
3
1 2 3
3 4 2
6 7 5
output:
(1,2,3) (2,3,4) (5,6,7)
6.928
(6,7,5) (3,4,2) (1,2,3)
7.348
(2,4,6) (8,10,9) (8,10,9)
0 5.745 5.745
FALSE
input:
3
1 2 3
5 6 7
2 3 4
2
1 2 3
3 4 2
output:
(1,2,3) (2,3,4) (5,6,7)
6.928
(3,4,2) (1,2,3)
3
(2,4,6) (8,10,9) (2,3,4)
0 5.745 0
FALSE
input:
2
0 0 0
1 2 3
2
0 0 0
1 2 3
ouput:
(0,0,0) (1,2,3)
3.742
(1,2,3) (0,0,0)
3.742
(0,0,0) (2,4,6)
0 0
TRUE
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