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
1,39 MB
Nội dung
LẬP TRÌNH CƠ BẢN MẢNG Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT NỘI DUNG Mảng Mảng chiều Mảng nhiều chiều Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG Mảng: tập hợp phần tử cố định có kiểu, gọi kiểu phần tử Kiểu phần tử là: ký tự, số, chuỗi ký tự; Mảng chia làm loại: Mảng chiều Mảng nhiều chiều Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: mảng hiểu Vector Khai báo mảng với số phần tử xác định: [n] Tên mảng: tên đặt theo quy tắc đặt tên biến; n: số nguyên, cho biết số lượng phần tử tối đa mảng Kiểu: phần tử mảng có liệu thuộc kiểu Biến mảng gồm có n phần tử, phần tử thứ tên mảng [0], phần tử cuối tên mảng[n -1]; Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Khai báo mảng với số phần tử xác định: Mỗi phần tử mảng: Tên mảng Vị trí phần tử mảng Ví dụ: float c[12]; Phần tử vị trí n phần tử mảng c[n]: c[0], c[1], … , c[n-1] Các phần tử mảng có tên c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] c[10] c[11] -45 72 1543 -89 62 -3 6453 78 Vị trí phần tử mảng Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Khai báo mảng với số phần tử không xác định: [] Kiểu khai báo thường áp dụng: Vừa khai báo vừa gán giá trị, Khai báo mảng tham số hình thức hàm Ví dụ: int a[]={2,7,8,5,6} void inMang(int a[], int n) Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Vừa khai báo mảng vừa gán giá trị : int n[ ] = { 1, 2, 3, 4, }; Nếu khởi tạo không đủ, phần tử bên phải gán int n[ ] = { } Nếu kích thước bị bỏ qua, giá trị khởi tạo xác định nó: int n[ ] = { 1, 2, 3, 4, }; giá trị khởi tạo, mảng có phần tử Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Khai báo mảng tham số hình thức hàm: Function prototype void myFunction(int myArray[],int arraySize ); Tham số hình thức mảng thường khơng xác định int myArray[] thường viết int [] int arraySize int Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Khai báo mảng tham số hình thức hàm: Truyền mảng Để truyền mảng cho hàm, định tên mảng không định dấu ngoặc vuông int myArray[ 24 ]; myFunction( myArray, 24 ); Kích thước mảng ln truyền cho hàm Mảng truyền tham chiếu Tên mảng địa phần tử Hàm biết vị trí mảng lưu trữ Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG MỘT CHIỀU Mảng chiều: Khai báo mảng tham số hình thức hàm: Truyền phần tử mảng modifyElement( a[ ] ); Truyền theo tham trị Truyền tên với số (ví dụ myArray[ ]) tới hàm Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Khai báo mảng chiều tường minh: Ví dụ: float a[10][10]; Khai báo mảng chiều không tường minh: Để khai báo mảng chiều không tường minh, ta phải số phần tử chiều thứ hai (chiều cuối cùng) Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Mảng hai chiều: Bảng gồm dòng cột (mảng m x n) Giống ma trận: Chỉ định hàng sau định cột Row Row Row Column Column Column Column a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] a[ ][ ] Column subscript Array name Row subscript Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Truy xuất đến phần tử mảng: Chỉ định số hàng sau số cột Ví dụ: printf(“In phần tử: %f”, a[2][3]); Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Khởi tạo phần tử mảng: Khởi tạo cách nhóm dịng dấu {} int b[ ][ ] = { { 1, }, { 3, } }; Nếu không đủ, phần tử không định nhận giá trị 0: int b[ ][ ] = { { }, { 3, } }; Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Ví dụ: #include #include void Nhap(int a[][10],int M,int N); void InMaTran(int a[][10], int M, int N); void CongMaTran(int a[][10],int b[][10],int M,int N,int c[][10]); int main() { int a[10][10], b[10][10], M, N; int c[10][10];/* Ma tran tong*/ printf("So dong M= "); scanf("%d",&M); printf("So cot M= "); scanf("%d",&N); printf("Nhap ma tran A\n"); Nhap(a,M,N); printf("Nhap ma tran B\n"); Nhap(b,M,N); printf("Ma tran A: \n"); InMaTran(a,M,N); printf("Ma tran B: \n"); InMaTran(b,M,N); Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT MẢNG NHIỀU CHIỀU Ví dụ: printf("Ma tran tong C:\n");InMaTran(c,M,N); getch(); return 0; } void Nhap(int a[][10],int M,int N) { int i,j; for(i=0;i