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
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:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)