By GokiSoft.com| 15:11 03/12/2021|
Lập Trình C

[Video] Tìm hiểu về Array (mảng) trong C - Khóa học lập trình C BT2659



Tìm hiểu Array
	- Tại sao sử dụng array trong lập trình???
	- Sử dụng nó như nào???
	- Hiểu bản chất Array trong lập trình là như nào
	- Các loại array sử dụng trong lập trình?
		- Mảng 1 chiều -> Focus
		- Mảng 2 chiều
	- Đi qua các ví dụ minh họa.

1) Vi du 1:
- Nhap mang so nguyen gom 5 phan -> Tinh tong cac phan tu trong mang



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	/**
	//Bai toan:
	//Muc 1: Yeu cau cac ban khai bao 2 so nguyen
	int t1, t2;
	//Muc 2: Yeu cau khai bao 5 so nguyen
	int k1, k2, k3, k4, k5;
	//Muc 3: Khai bao 100 so nguyen - 1000 so nguyen - 1 trieu so nguyen -> Ko the su dung cach tren dc
	//Giai phap la gi -> giai quyet bai toan tren -> khai bao kieu mang -> array
	int t[5]; //mang 1 chieu -> khai bao
	//Co 2 loi ich:
	//1: giai quyet bai toan de cap phia tren
	//2: truy cap qua cac phan tu nhanh hon cach tren
	
	//Khi lam viec vs mang so nguyen -> mang 1 chieu -> co 1 so khai niem can ghi nho
	//so phan tu trong mang (do dai cua mang) -> length = 5
	//index -> vi tri cua cac phan tu: index = 0 -> length - 1 => 0 -> 4
	
	//Truy cap tung phan tu thi nhu nao -> thiet lap du lieu cho bai toan tren
	//Coi: t[0], t[1], t[2], t[3], t[4] -> nhu la cac bien binh thuong
	t[0] = 5;
	t[1] = 1;
	t[2] = 6;
	t[3] = 7;
	t[4] = 2;
	
	//Hien thi nhu nao???
	printf("\nt[0] = %d", t[0]);
	
	//Nhap tu ban phim -> thi lam the nao
	printf("\nNhap t[1] = ");
	scanf("%d", &t[1]);
	
	printf("\nt[1] = %d", t[1]);
	
	//Thong thuong: Khi lam viec vs mang -> dung toi for -> duyet qua cac phan tu -> rat hiem khi tuong tac doc lap tung vi tri
	int i;
	
//	printf("\nNhap t[%d] = ", 0);
//	scanf("%d", &t[0]);
//	printf("\nNhap t[%d] = ", 1);
//	scanf("%d", &t[1]);
//	printf("\nNhap t[%d] = ", 2);
//	scanf("%d", &t[2]);
//	printf("\nNhap t[%d] = ", 3);
//	scanf("%d", &t[3);
//	printf("\nNhap t[%d] = ", 4);
//	scanf("%d", &t[);
	
	for(i=0;i<5;i++) {
		printf("\nNhap t[%d] = ", i);
		scanf("%d", &t[i]);
	}
	
	//Hien thi ca mang
	for(i=0;i<5;i++) {
		printf("\nNhap t[%d] = %d", i, t[i]);
	}
	
	//Bai 1: Nhap mang so nguyen gom 5 phan -> Tinh tong cac phan tu trong mang
	printf("\n*** Nhap mang so nguyen gom 5 phan -> Tinh tong cac phan tu trong mang");
	int arr[5];
	
	//Nhap du lieu tu ban phim
	for(i=0;i<5;i++) {
		printf("\nNhap arr[%d] = ", i);
		scanf("%d", &arr[i]);
	}
	
	int sum = 0;
	for(i=0;i<5;i++) {
		sum += arr[i];
	}
	
	printf("\nTong: %d", sum);
	//Bai 2: Nhap mang so nguyen gom N phan tu -> N nhap tu ban phim -> Tinh tong cac phan tu trong mang
	int N;
	printf("\nNhap N = ");
	scanf("%d", &N);
	
	//N: xac dinh dc gia tri -> nhan gia tri nhap tu ban phim roi -> OK
	int arr2[N];//Dung
	
	for(i=0;i<N;i++) {
		printf("\nNhap arr2[%d] = ", i);
		scanf("%d", &arr2[i]);
	}
	
	sum = 0;
	for(i=0;i<N;i++) {
		sum += arr2[i];
	}
	printf("\nTong: %d", sum);
	*/
	//Luu y: khai bao mang char, float, long int, ... => thay int trong khai bao tren -> bang -> char, float, ... la dc
	char s[10] = "SINH VIEN";//khai bao string (text) -> mang ky tu
	//nhap tung ky tu cho magn cung dc -> scanf("%c", &s[i]);
	//nhap theo string gets(s)
	printf("\ns[0] = %c", s[0]);
	
	//Kiem tra TH dac biet vs mang char
	//do dai mang: 10, index = 0 ->9 -> Ly thuyet ve mang
	//do dai thuc te: length: 9. index = 0 -> 8
	//Lam sao de lay dc do dai thuc te cua mang ky tu -> string
	int length = strlen(s);
	
	printf("\nlength: %d", length);
	int i;
	for(i=0;i<length;i++) {
		printf("\n%c", s[i]);
	}
	
	//Khai bao mang so nguyen gom cac phan tu san co
	//Vi du: Khai bao mang so nguyen gom cac phan tu 5, 2, 7, 9, 1
	int arr3[] = {5, 2, 7, 9, 1};
	printf("\narr3[0] = %d", arr3[0]);
	
	//Phan 2: Khai bao mang 2 chieu
	int t[2][3];//quy dinh trong lap trinh -> dung cach
	//coi tung phan tu mang: t[0][0], t[0][1], t[0][2], t[1][0], t[1][1], t[1][2] -> bien so nguyen binh thuong -> su dung bt
	t[0][0] = 7;
	t[0][1] = 1;
	t[0][2] = 8;
	t[1][0] = 2;
	t[1][1] = 6;
	t[1][2] = 1;
	
	//Nhap
	printf("\nt[0][0] = ");
	scanf("%d", &t[0][0]);
	
	//duyet qua cac phan tu trong mang
	int j;
	for(i=0;i<2;i++) {
		for(j=0;j<3;j++) {
			printf("\nt[%d][%d] = %d", i, j, t[i][j]);
		}
	}
	
	//Tim hieu 1 so ham string trong C
	char s1[30];
	char s2[30];
	
	printf("\nNHap s1 = ");
	fflush(stdin);fflush(stdout);
	gets(s1);
	
	//Sao chep du lieu s1 sang s2 ??? lam the nao
//	s2 = "ABC";//sai
	strcpy(s2, "ABC");
	printf("\ns2 = %s", s2);
	
	//Noi chuoi s2 vao sau s1 lam the nao
	strcat(s1, s2); //noi s2 vao sau s1
	printf("\ns1 = %s", s1);
	
	//So sanh
	strcpy(s1, "F");
	strcpy(s2, "D");
	int cmp = strcmp(s1, s2);//-1: s2 xep sau s1, 0: giong nhau, 1: xep truoc s1
	
	printf("\ncmp = %d", cmp);
	
	return 0;
}





Tags:

Liên kết rút gọn:

https://gokisoft.com/2659

Bình luận