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 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;

pdf 14 trang kimcuc 3460
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

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:

  • pdfbai_giang_ky_thuat_lap_trinh_nang_cao_chuong_3_ma_tran_tran.pdf