Mảng là một trong những phần cơ bản và cốt lỏi của nhiều ngôn ngữ lập trình trong đó có C. Nhiệm vụ chính của mảng là để lưu nhiều phần tử có cùng kiểu dữ liệu. Mỗi phần tử của mảng có một số thứ tự được gọi là chỉ số dùng để xác định vị trí của nó trong mảng. Mảng bao gồm mảng 1 chiều và mảng nhiều chiều
Khai báo
KDL TênMảng[SốPhầnTử]; //Không khởi gán KDL TênMảng[SốPhầnTử] = {Dãy Giá Tri}; //Có khởi gán KDL TênMảng[] = {Dãy Giá Tri}; //Có khởi gán
Truy xuất phần tử của mảng : TênMảng[Chỉ Số]
Ví dụ : int a[10];
Lưu ý
- Tên mảng : là con trỏ lưu địa chỉ của phần tử đầu tiên
- Chỉ số của mảng được đánh số từ 0
- Mảng 1 chiều đôi khi được gọi là dãy
Một số ví dụ cơ bản về mảng 1 chiều
- Nhập mảng
void NhapMang(int a[],int &n) { printf("Nhap so phan tu: "); scanf("%d",&n); int i; for (i = 0; i < n; i++) { printf("a[%d] = ",i); scanf("%d",&a[i]); } } - Xuất mảng
void XuatMang(int a[], int n) { for (int i = 0; i < n; i++) { printf("%d ",a[i]); } } - Sắp xếp tăng dần
void SapXep(int a[], int n) { for (int i = 0; i < n - 1; i++) for (int j = i; j < n; i++) if (a[i] > a[j]) { int t = a[i]; a[i] = a[j]; a[j] = t; } }
2. Mảng 2 chiều
Khai báo : KDL TênMảng[SốDòng][SốCột];
Truy xuất phần tử trong mảng : TênMảng[ChỉSốDòng][ChỉSốCột]
* Với các mảng 2 chiều có KDL dạng số thường được gọi là ma trận *
Ví dụ : int a[5][5];
Một số ví dụ cơ bản về mảng 2 chiều
- Nhập mảng 2 chiều
void NhapMT(int a[MAX][MAX], int &m, int &n) { printf("Nhap so dong: "); scanf("%d",&m); printf("Nhap so cot: "); scanf("%d",&n); for (int i = 0; i < m; i++) for (int j = 0; j < n; j ++) { printf("a[%d][%d] = ",i,j); scanf("%d",&a[i][j]); } } - Xuất mảng 2 chiều
void XuatMT(int a[MAX][MAX], int m, int n) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j ++) printf("%3d",a[i][j]); printf("\n"); } } - Sắp xếp tăng dần từ trên xuống dưới, từ trái qua phải
void SapXep(int a[][10], int m, int n) { int t; for (int i = 0; i < m*n - 1; i++) for (int j = i+1; j < m*n; j++) if (a[i/m][i%n] > a[j/m][j%n] ) { t = a[i/n][i%n]; a[i/m][i%n] = a[j/m][j%n]; a[j/m][j%n] = t; } }
No comments:
Post a Comment
Có thể post link nhaccuatui, youtube, link hình và link mp3
[size="cở chữ"]Chữ[/size], [color="màu chữ"]Chữ[/color]
Chèn Emoticons