Bài giảng Kỹ thuật lập trình nâng cao - Chương 3: Ma trận - Trần Minh Thái
Cách 1: Con trỏ hằng
< kdl=""> < tên="" mảng="">[< số="" dòng="" tối="" đa="">][];
*Ví dụ:
int A[10][10]; //Khai báo ma trận kiểu int gồm 10 dòng, 10 cột
float b[10][10];//Khai báo ma trận kiểu float gồm 10 dòng 10 cột
Cách 2 : Con trỏ
< kiểu="" dữ="" liệu=""> **
*Ví dụ :
int **A ; // Khai báo ma trận kiểu int
float **B ; // Khai báo ma trận kiểu float
23
*
Để đơn giản trong việc khai báo ma trận:
#define MAX 100
typedef
Ví dụ: Khai báo ma trận các số nguyên a
#define MAX 100
typedef int matran[MAX][MAX];
matran a;
Bạn đang xem tài liệu "Bài giảng Kỹ thuật lập trình nâng cao - Chương 3: Ma trận - Trần Minh Thái", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kỹ thuật lập trình nâng cao - Chương 3: Ma trận - Trần Minh Thái
TRẦN MINH THÁI 1 * Cách 1: Con trỏ hằng [][]; *Ví dụ: int A[10][10]; //Khai báo ma trận kiểu int gồm 10 dòng, 10 cột float b[10][10];//Khai báo ma trận kiểu float gồm 10 dòng 10 cột Cách 2 : Con trỏ **; *Ví dụ : int **A ; // Khai báo ma trận kiểu int float **B ; // Khai báo ma trận kiểu float 2 3* Để đơn giản trong việc khai báo ma trận: #define MAX 100 typedef matran[MAX][MAX]; Ví dụ: Khai báo ma trận các số nguyên a #define MAX 100 typedef int matran[MAX][MAX]; matran a; * Để truy xuất các thành phần của mảng hai chiều ta phải dựa vào chỉ số dòng và chỉ số cột. Cú pháp: tên_ma_trận[chỉ số dòng][chỉ số cột] *Ví dụ: int A[3][4] = { {2,3,9,4} , {5,6,7,6} , {2,9,4,7} }; Với các khai báo như trên ta có: A[0][0] = 2; A[0][1] = 3; A[1][1] = 6; A[1][3] = 6; 4 **Ma trận có số dòng và số cột bằng nhau *Đường chéo chính: chỉ số dòng = chỉ số cột *Đường chéo phụ: chỉ số cột + chỉ số dòng = kích thước - 1 5 * *Nhập/ xuất *Tìm kiếm *Đếm *Tính tổng/ trung bình *Sắp xếp dòng/ cột *Xóa dòng/ cột *Chèn thêm dòng/ cột 6 7* Khai báo #define MAX 100 typedef int matran[MAX][MAX]; void NhapMT(matran a, int sd, int sc); void XuatMT(matran a, int sd, int sc); 8* void NhapMT(matran a, int sd, int sc) { for(int i=0; i<sd; i++) { for(int j=0; j<sc; j++) { cout<<"Nhap gt ["<<i<<"]["<<j<<"]: "; cin>>a[i][j]; } } } 9* void XuatMT(matran a, int sd, int sc) { for(int i=0; i<sd; i++) { for(int j=0; j<sc; j++) { cout<<a[i][j]<<"\t"; } cout<<endl; } } 10 * void main() { matran a; int sd, sc; cout<<"Nhap so dong cua ma tran: "; cin>>sd; cout<<"Nhap so cot cua ma tran: "; cin>>sc; NhapMT(a, sd, sc); XuatMT(a, sd, sc); } 11 * Cho ma trận số nguyên a, viết các hàm: *Xuất các phần tử lẻ *Xuất các phần tử là số nguyên tố *Xuất các phần tử có giá trị lớn hơn x 12 * Cho ma trận vuông số nguyên kích thước n, viết các hàm: *Nhập ma trận *Xuất ma trận *Xuất các phần tử thuộc đường chéo chính *Xuất các phần tử thuộc đường chéo phụ *Xuất các phần tử thuộc phần tam giác phía dưới của đường chéo chính *Xuất các phần tử thuộc phần tam giác phía trên đường chéo phụ 13 * Cho ma trận số nguyên, viết các hàm: *Tìm phần tử lớn nhất *Tìm vị trí phần tử lớn nhất *Tìm vị trí xuất hiện đầu tiên của phần tử có giá trị x *Tìm dòng có tổng lớn nhất *Tìm cột có giá trị nhỏ nhất 14 * Cho ma trận số nguyên, viết các hàm: *Xóa dòng có chứa giá trị lớn nhất *Xóa cột có chứa giá trị x
File đính kèm:
- bai_giang_ky_thuat_lap_trinh_nang_cao_chuong_3_ma_tran_tran.pdf