[Buổi 19][Con trỏ][Lab] Bài 1: Pointer Snapshot
Pointer Snapshot
Bối cảnh
Một bài mô phỏng nhỏ giúp bạn thấy pointer đang trỏ tới biến nào và dereference thay đổi biến gốc ra sao.
Bạn không cần in địa chỉ thật. Hãy dùng pointer để thực hiện chuỗi thao tác rồi in giá trị cuối.
Yêu cầu
- Đọc x, y và ba số a, b, c.
- Tạo
int* p = &x; cộng a vào*p. - Cho
p = &y; cộng b vào*p. - Cho
p = &x; gán*p = *p + c. - In
x y.
Yêu cầu tổ chức code
Phải có ít nhất một biến pointer và cập nhật x/y thông qua dereference.
Online Judge chủ yếu chấm output. Giảng viên có thể review thêm cấu trúc code để xác nhận học viên luyện đúng kỹ năng của buổi.
Input
Một dòng gồm 5 số nguyên x y a b c.
Output
Một dòng gồm giá trị cuối của x y.
Ràng buộc
|x|,|y|,|a|,|b|,|c| ≤ 10^9; kết quả vừa long long, nhưng bài dùng int với test an toàn.
Ví dụ 1
Input
10 20 3 4 5
Output
18 24
Giải thích
p trỏ x: x=13; p trỏ y: y=24; p quay lại x: x=18, nên output 18 24.
Ví dụ 2
Input
0 0 1 2 3
Output
4 2
Giải thích
x lần lượt tăng 1 rồi tăng 3; y tăng 2 nên kết quả 4 2.
Thông tin học tập
- Module: M06
- Buổi: B19
- Loại bài: LAB
- Độ khó: Easy
- Concepts: pointers, address-of, dereference, pointer reassignment
- Giới hạn kiến thức: B01-B19
- Time limit: 1 second(s)
- Memory limit: 256 MB
- Point: 100
Comments