Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
131,98 KB
Nội dung
PHÉP XOAY MẢNG HAI CHIỀU VÀ MỘT VÀI BÀI TOÁN ỨNG DỤNG A) Đặt vấn đề Mảng hai chiều cấu trúc liệu gần gủi với học lập trình, khơng cấu trúc quen thuộc để giải nhiều tốn kì thi lập trình cấp tỉnh, cấp quốc gia hay khu vực Tuy cấu trúc quen thuộc học sinh sử dụng thành thạo gặp tốn có sử dụng cấu trúc này, đặc biệt gặp toán cần xoay mảng hai chiều Để giúp em có hướng tiếp cận với dạng toán xoay mảng hai chiều làm quen với cách truy xuất phần tử mảng xoay 45 hay 90 độ, chọn chuyên đề PHÉP XOAY MẢNG HAI CHIỀU VÀ MỘT VÀI BÀI TỐN ỨNG DỤNG B) Nội dung I) Một số công thức quay ma trận 1) Quay phải 45 độ a Bài tốn: Cho ma trận có kích thước n*m, nhiệm vụ bạn in ma trận sau xoay ma trận ban đầu 45 độ sang phải INPUT 33 OUTPUT b Xây dựng công thức Để tiện cho q trình xây dựng cơng thức ta gọi: (i,j) tọa độ ma trận ban đầu (xp,yp) tọa độ ma trận sau xoay phải 45 độ Ta vẽ bảng mô tả trình xoay 1|Page Phép xoay mảng hai chiều vài tốn ứng dụng Hình 1.1 Ma trận ban đầu a Hình 1.2 Ma trận xoay b Từ ta rút cơng thức chuyển: Ơ vị trí (i,j) ma trận acó kích thước n*m, chuyển thành có tọa độ (xp,yp) ma trận bcó kích thước (n+m-1)* (n+m1)với cơng thức: (xp,yp) = (i + j – 1, n - i + j) c Code tham khảo #include #define FOR(i,a,b) for (int i=(a);i