Nhập ma trận số nguyên bằng cách tạo giá trị ngẫu nhiên cho các phần tử của ma trận
Bước 1: Tạo project mới (có thể xem lại bài viết Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012 Hoặc Hướng dẫn Dev-C++ căn bản) Show #include
#include Bước 3: Khai báo hằng số cho chương trình. #define MAXROW 100 //số dòng tối đa Bước 4: Viết các khai báo nguyên mẫu hàm cho chương trình như sau: void TaoMaTran_SoNguyen(int a[][MAXCOL], int &m, int &n); Bước 5: Viết hàm main để thực thi chương trình. Bước 6: Viết các định nghĩa hàm cần thiết cho chương trình như sau Bài tập làm thêm Lưu ý: các câu k, l, m, n, q, r, s thì ma trận phải là ma trận vuông. Nên nếu M¹N thì K=min(M,N) khi đó ta chỉ tính cho ma trận với K dòng ´ K cột đầu tiên.
1
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)
Trong ví dụ trên, x là một mảng hai chiều. Nó có thể chứa tối đa 12 yếu tố. Chúng ta có thể nghĩ mảng này là một bảng có 3 hàng và mỗi hàng có 4 cột như hình bên dưới. Các phần tử trong mảng hai chiều trong Lập trình C ++ Để truy xuất giá trị của phần tử trong mảng, ta sử dụng cú pháp: Ví dụ: Cho mảng như sau:int a[2][3] // 2 dòng, 3 cộtCác truy xuất:
Chú ý: khi truy xuất một phần tử mảng, luôn đảm bảo chỉ số của phần tử đó là hợp lệ trong phạm vi của mảng. 1.Nhập và xuất mảng 2 chiềuBên dưới là ví dụ về nhập, xuất dữ liệu cho mảng: #includeOutput: Nhap so dong : 2 Nhap so cot : 3 61 63 46 37 92 402.Tính tổng các phần tử trong mảngYêu cầu: cho trước ma trận mt, kích thước mxn. Tính tổng các phần tử trên dòng d, cột c. Ý tưởng: duyệt ma trận và cộng dồn các phần tử có tọa độ (dòng, cột) thỏa yêu cầu. #includeOuput Nhap so dong : 2 Nhap so cot : 3 83 40 14 47 22 65 Nhap dong can tinh tong: 1 Tong dong: 134 Nhap dong can tinh tong: 2 Tong dong: 793.Tìm giá trị lớn nhất của mảng 2 chiềuYêu cầu: Cho trước ma trận mt, kích thước mxn. Tìm giá trị lớn nhất trong ma trận mt (gọi là max) Ý tưởng:
Thao tác với mảng đa chiều1. Mảng đa chiều hoạt động như thế nào?Mảng ba chiều cũng hoạt động theo cách tương tự như mảng hai chiều . Ví dụ: float x[2][4][3];Trong mảng này, x có thể chứa tối đa 24 yếu tố. Chúng ta có thể tìm ra tổng số phần tử trong mảng chỉ bằng cách nhân kích thước của nó: 2 x 4 x 3 = 242. Kích thước của các mảng đa chiềuTổng số phần tử có thể được lưu trữ trong một mảng nhiều chiều có thể được tính bằng cách nhân kích thước của tất cả các kích thước. 3. Khởi tạo mảng nhiều chiềuGiống như một mảng bình thường, chúng ta có thể khởi tạo một mảng nhiều chiều theo nhiều cách. Mảng hai chiều là hình thức đơn giản nhất của mảng đa chiều. Chúng ta có thể thấy một mảng hai chiều là mảng của mảng một chiều để dễ hiểu hơn.
Có 02 cách để khởi tạo một mảng hai chiều : 1. Phương pháp đầu tiên : int test[2][3] = {2, 4, 5, 9, 0, 19}; Phương pháp trên không được ưa thích.Một cách tốt hơn để khởi tạo mảng này với các phần tử mảng tương tự được đưa ra dưới đây. 2. Phương pháp tốt hơn :int test[2][3] = { {2, 4, 5}, {9, 0, 19}}; Mảng này có 2 hàng và 3 cột, đó là lý do tại sao chúng ta có hai hàng phần tử với 3 phần tử mỗi phần. Khởi tạo mảng ba chiềuint test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9};Đây chưa phải là một cách tốt để khởi tạo một mảng ba chiều. Một cách tốt hơn để khởi tạo mảng này là: int test[2][3][4] = { { {3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2} }, { {13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9} } };Truy cập các phần tử trong mảng ba chiều : Truy cập các phần tử trong mảng ba chiều cũng tương tự như các phần tử mảng hai chiều. Ví dụ 1: Mảng hai chiều// C++ Program to display all elements // of an initialised two dimensional array #includeTrong ví dụ trên, ta đã khởi tạo một int mảng hai chiều có tên test có 3 "hàng" và 2 "cột". Ở đây, ta đã sử dụng for vòng lặp lồng nhau để hiển thị các phần tử mảng.
Cuối cùng, ta sẽ in các phần tử mảng trong mỗi lần lặp. Ví dụ 2: Mảng ba chiều// C++ Program to Store value entered by user in // three dimensional array and display it. #includeOuput test[0][0][0] = 1 test[0][0][1] = 2 test[0][1][0] = 3 test[0][1][1] = 4 test[0][2][0] = 5 test[0][2][1] = 6 test[1][0][0] = 7 test[1][0][1] = 8 test[1][1][0] = 9 test[1][1][1] = 10 test[1][2][0] = 11 test[1][2][1] = 12Khái niệm cơ bản về các yếu tố in của mảng 3 chiều tương tự như mảng 2 chiều. Tuy nhiên, vì ta đang thao tác 3 chiều nên ta phải sử dụng vòng lặp lồng nhau với 3 vòng thay vì chỉ 2 vòng. KếtNhư chúng ta có thể thấy, độ phức tạp của mảng tăng theo cấp số nhân với sự gia tăng kích thước. Nếu có thắc mắc hay ý kiến bổ sung, các bạn hãy để lại comment phía dưới nha |