You are on page 1of 53

Khoa CNTT KTLT

Chƣơng 5
MẢNG MỘT CHIỀU

ThS. Nguyễn Tấn


Chương 05 - 1
Trần Minh Khang
Khoa CNTT KTLT

1. HÌNH ẢNH
MẢNG MỘT CHIỀU

 Hình vẽ

 Mảng một chiều là một kiến trúc


bao gồm nhiều ô được xếp liên
tiếp nhau.

ThS. Nguyễn Tấn


Chương 05 - 2
Trần Minh Khang
Click to see Figure 1-2
Khoa CNTT KTLT

2. KHÁI NIỆM

Mảng một
chiều là cái
quái gì?

Khái niệm: Mảng một


chiều là một tập hợp
các biến có cùng kiểu
dữ liệu và cùng tên.

ThS. Nguyễn Tấn


Chương 05 - 3
Trần Minh Khang
Khoa CNTT KTLT

3. CHỈ SỐ

 Qui ước: Các phần tử trong mảng một


chiều của C được đánh chỉ số bắt
buộc từ 0.

0 1 2 3 4 5 6 7 8 9

 Như vậy các phần tử trong mảng một


chiều có n phần tử được đánh chỉ số
theo thứ tự từ 0 cho đến n-1

0 1 … n-2 n-1

ThS. Nguyễn Tấn


Chương 05 - 4
Trần Minh Khang
Khoa CNTT KTLT

4. KHAI BÁO
MẢNG MỘT CHIỀU

 Cú pháp
KDL <TenBien>[SoPhanTuToiDa];
 Ví dụ 1: int a[100];
Trong ví dụ trên ta nói a là mảng một
chiều có tối đa 100 phần tử. Mỗi phần
tử trong mảng có kiểu là kiểu số
nguyên.
 Ví dụ 2: float b[20];
Trong ví dụ trên ta nói b là mảng một
chiều có tối đa 20 phần tử. Mỗi phần
tử trong mảng có kiểu là kiểu số thực.

ThS. Nguyễn Tấn


Chương 05 - 5
Trần Minh Khang
Khoa CNTT KTLT

4. KHAI BÁO
MẢNG MỘT CHIỀU

 Cú pháp
KDL <TenBien>[SoPhanTuToiDa];
 Ví dụ 3:
1. struct phanso
2. {
3. int tu;
4. int mau;
5. };
6. typedef struct phanso PHANSO;
7. PHANSO c[10];
 Trong ví dụ trên ta nói c là mảng một
chiều có tối đa 10 phần tử. Mỗi phần tử
trong mảng có kiểu là kiểu PHANSO.
ThS. Nguyễn Tấn
Chương 05 - 6
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Vấn đề 1: Hãy định nghĩa hàm nhập mảng một


chiều các số nguyên.
 Định nghĩa hàm
11. void Nhap(int a[],int &n)
12. {

13. printf(“Nhap n:”);


14. scanf(“%d”,&n);
15. for(int i=0;i<n;i++)
16. {
17. printf(“Nhap a[%d]:”,i);
18. scanf(“%d”,&a[i]);
19. }
20. }
ThS. Nguyễn Tấn
Chương 05 - 7
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Vấn đề 2: Hãy định nghĩa hàm nhập mảng một


chiều các số thực.
 Định nghĩa hàm
1. void Nhap(float a[],int &n)
2. {
3. printf(“Nhap n:”);
4. scanf(“%d”,&n);
5. for(int i=0;i<n;i++)
6. {
7. printf(“Nhap a[%d]:”,i);
8. scanf(“%f”,&a[i]);
9. }
10.}
ThS. Nguyễn Tấn
Chương 05 - 8
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Vấn đề 3: Hãy định nghĩa hàm nhập mảng một


chiều các số nguyên dài.
 Định nghĩa hàm
11. void Nhap(long a[],int &n)
12.{

13. printf(“Nhap n:”);


14. scanf(“%d”,&n);
15. for(int i=0;i<n;i++)
16. {
17. printf(“Nhap a[%d]:”,i);
18. scanf(“%ld”,&a[i]);
19. }
20.}
ThS. Nguyễn Tấn
Chương 05 - 9
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Vấn đề 4: Hãy định nghĩa hàm nhập mảng một


chiều các số thực dài (double).
 Định nghĩa hàm
11. void Nhap(double a[],int &n)
12.{

13. printf(“Nhap n:”);


14. scanf(“%d”,&n);
15. for(int i=0;i<n;i++)
16. {
17. printf(“Nhap a[%d]:”,i);
18. scanf(“%lf”,&a[i]);
19. }
20.}
ThS. Nguyễn Tấn
Chương 05 - 10
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Vấn đề 5: Hãy định nghĩa hàm nhập mảng


một chiều các phân số.
 Định nghĩa hàm
11. struct phanso
12.{
13. int tu;
14. int mau;
15.};
16.typedef struct phanso PHANSO;
17.void Nhap(PHANSO &x)
18.{
19. printf(“Nhap tu:”);
20. scanf(“%d”,&x.tu);
21. printf(“Nhap mau:”);
22. scanf(“%d”,&x.mau);
23.}

ThS. Nguyễn Tấn


Chương 05 - 11
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

 Định nghĩa hàm


11. void Nhap(PHANSO a[],int &n)
12.{

13. printf(“Nhap n:”);


14. scanf(“%d”,&n);
15. for(int i=0;i<n;i++)
16. {
17. printf(“Nhap a[%d]:”,i);
18. Nhap(a[i]);
19. }
20.}

ThS. Nguyễn Tấn


Chương 05 - 12
Trần Minh Khang
Khoa CNTT KTLT

5. KỸ THUẬT NHẬP
MẢNG MỘT CHIỀU

Bài tập làm ngay:


Hãy định nghĩa
hàm nhập cho
mảng một chiều
tọa độ các điểm
trong mặt phẳng
Oxy

ThS. Nguyễn Tấn


Chương 05 - 13
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Vấn đề 1: Hãy định nghĩa hàm xuất mảng


một chiều các số nguyên.
 Định nghĩa hàm
1. void Xuat(int a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. printf(“%4d”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 14
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Vấn đề 2: Hãy định nghĩa hàm xuất mảng


một chiều các số thực.
 Định nghĩa hàm
1. void Xuat(float a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. printf(“%8.3f”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 15
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Vấn đề 3: Hãy định nghĩa hàm xuất mảng


một chiều các số nguyên dài.
 Định nghĩa hàm
1. void Xuat(long a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. printf(“%ld”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 16
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Vấn đề 4: Hãy định nghĩa hàm xuất mảng


một chiều các số thực dài.
 Định nghĩa hàm
1. void Xuat(double a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. printf(“%lf”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 17
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Vấn đề 5: Hãy định nghĩa hàm xuất mảng


một chiều các phân số.
 Định nghĩa hàm
11. struct phanso
12.{

13. int tu;


14. int mau;
15.};

16.typedef struct phanso PHANSO;


17.void Xuat(PHANSO x)
18.{

19. printf(“%d/%d”, x.tu,x.mau);


20.}
ThS. Nguyễn Tấn
Chương 05 - 18
Trần Minh Khang
Khoa CNTT KTLT

6. KỸ THUẬT XUẤT
MẢNG MỘT CHIỀU

 Định nghĩa hàm


1. void Xuat(PHANSO a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. Xuat(a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 19
Trần Minh Khang
Khoa CNTT KTLT

7. KỸ THUẬT ĐẾM
TRÊN MẢNG MỘT CHIỀU

 Vấn đề 1: Hãy định nghĩa hàm đếm số


lượng giá trị chẵn trong mảng một chiều
các số nguyên.
 Định nghĩa hàm
11. int DemChan(int a[],int n)
12.{
13. int dem = 0;
14. for(int i=0;i<n;i++)
15. {
16. if (a[i]%2==0)
17. dem++;
18. }
19. return dem;
20.}

ThS. Nguyễn Tấn


Chương 05 - 20
Trần Minh Khang
Khoa CNTT KTLT

7. KỸ THUẬT ĐẾM
TRÊN MẢNG MỘT CHIỀU

 Vấn đề 2: Hãy định nghĩa hàm đếm số


lượng số nguyên tố trong mảng một chiều
các số nguyên.
 Định nghĩa hàm
11. int ktnt(int k)
12.{
13. int dem=0;
14. for(int i=1;i<=k;i++)
15. if (k%i==0)
16. dem++;
17. if(dem==2)
18. return 1;
19. return 0;
20.}

ThS. Nguyễn Tấn


Chương 05 - 21
Trần Minh Khang
Khoa CNTT KTLT

7. KỸ THUẬT ĐẾM
TRÊN MẢNG MỘT CHIỀU

 Định nghĩa hàm


1. int DemNguyenTo(int a[],int n)
2. {
3. int dem = 0;
4. for(int i=0;i<n;i++)
5. if (ktnt(a[i])==1)
6. dem++;
7. return dem;
8. }

ThS. Nguyễn Tấn


Chương 05 - 22
Trần Minh Khang
Khoa CNTT KTLT

7. KỸ THUẬT ĐẾM
TRÊN MẢNG MỘT CHIỀU

 Định nghĩa hàm


1. int DemNguyenTo(int a[],int n)
2. {
3. int dem = 0;
4. for(int i=0;i<n;i++)
5. if (ktnt(a[i])==1)
6. dem++;
7. return dem;
8. }

ThS. Nguyễn Tấn


Chương 05 - 23
Trần Minh Khang
Khoa CNTT KTLT

8. KỸ THUẬT TÍNH TOÁN


TRÊN MẢNG MỘT CHIỀU

 Vấn đề 1: Hãy định nghĩa hàm tính tổng


các giá trị lẻ trong mảng một chiều các số
nguyên.
 Định nghĩa hàm
1. int TongLe(int a[],int n)
2. {
3. int s = 0;
4. for(int i=0;i<n;i++)
5. if (a[i]%2!=0)
6. s = s + a[i];
7. return s;
8. }

ThS. Nguyễn Tấn


Chương 05 - 24
Trần Minh Khang
Khoa CNTT KTLT

8. KỸ THUẬT TÍNH TOÁN


TRÊN MẢNG MỘT CHIỀU

 Vấn đề 2: Hãy định nghĩa hàm tính tổng


các giá trị dương trong mảng một chiều
các số thực.
 Định nghĩa hàm
1. float TongDuong(float a[],int n)
2. {
3. float s=0;
4. for(int i=0;i<n;i++)
5. if (a[i]>0)
6. s = s + a[i];
7. return s;
8. }

ThS. Nguyễn Tấn


Chương 05 - 25
Trần Minh Khang
Khoa CNTT KTLT

8. KỸ THUẬT TÍNH TOÁN


TRÊN MẢNG MỘT CHIỀU

 Vấn đề 3: Hãy định nghĩa hàm tính tổng


các giá trị nguyên tố trong mảng một chiều
các số nguyên.
 Định nghĩa hàm
1. int TongNguyenTo(int a[],int n)
2. {
3. int s = 0;
4. for(int i=0;i<n;i++)
5. if (ktnt(a[i])==1)
6. s = s + a[i];
7. return s;
8. }

ThS. Nguyễn Tấn


Chương 05 - 26
Trần Minh Khang
Khoa CNTT KTLT

9. KỸ THUẬT
ĐẶT LÍNH CANH

 Vấn đề 1: Hãy định nghĩa hàm tìm giá trị


lớn nhất trong mảng một chiều các số
thực.
 Định nghĩa hàm
1. float LonNhat(float a[],int n)
2. {
3. float lc = a[0];
4. for(int i=0;i<n;i++)
5. if (a[i]>lc)
6. lc = a[i];
7. return lc;
8. }

ThS. Nguyễn Tấn


Chương 05 - 27
Trần Minh Khang
Khoa CNTT KTLT

9. KỸ THUẬT
ĐẶT LÍNH CANH

 Vấn đề 2: Hãy định nghĩa hàm tìm vị trí mà


giá trị tại đó là giá trị nhỏ nhất trong mảng
một chiều các số thực.
 Định nghĩa hàm
1. int ViTriNhoNhat(float a[],int n)

2. {
3. int lc = 0;
4. for(int i=0;i<n;i++)
5. if (a[i]<a[lc])
6. lc = i;
7. return lc;
8. }

ThS. Nguyễn Tấn


Chương 05 - 28
Trần Minh Khang
Khoa CNTT KTLT

10. KỸ THUẬT ĐẶT CỜ HIỆU

 Vấn đề 1: Hãy định nghĩa hàm kiểm tra


trong mảng một chiều các số thực có
tồn tại giá trị dương hay ko?
 Định nghĩa hàm
1. int TonTaiDuong(float a[],int n)
2. {
3. int flag = 0;
4. for(int i=0;i<n;i++)
5. if (a[i]>0)
6. flag=1;
7. return flag;
8. }

ThS. Nguyễn Tấn


Chương 05 - 29
Trần Minh Khang
Khoa CNTT KTLT

11. KỸ THUẬT SẮP XẾP

 Vấn đề 1: Hãy định nghĩa hàm sắp xếp


mảng một chiều các số thực tăng dần?
 Định nghĩa hàm
1. void SapTang(float a[],int n)
2. {
3. for(int i=0;i<=n-2;i++)
4. for(int j=i+1;j<=n-1;j++)
5. if (a[i]>a[j])
6. {
7. float temp=a[i];
8. a[i] = a[j];
9. a[j] = temp;
10. }
11.}

ThS. Nguyễn Tấn


Chương 05 - 30
Trần Minh Khang
Khoa CNTT KTLT

11. KỸ THUẬT SẮP XẾP

 Vấn đề 2: Hãy định nghĩa hàm sắp


xếp mảng một chiều các phân số
tăng dần?
 Định nghĩa hàm
1. struct phanso
2. {
3. int tu;
4. int mau;
5. };
6. typedef struct phanso PHANSO;

ThS. Nguyễn Tấn


Chương 05 - 31
Trần Minh Khang
Khoa CNTT KTLT

11. KỸ THUẬT SẮP XẾP

 Vấn đề 2: Hãy định nghĩa hàm sắp


xếp mảng một chiều các phân số
tăng dần?
 Định nghĩa hàm
1. int SoSanh(PHANSO x,PHANSO y)
2. {
3. float a=(float)x.tu/x.mau;
4. float b=(float)y.tu/y.mau;
5. if(a>b)
6. return 1;
7. if(a<b)
8. return -1;
return 0;
9. }

ThS. Nguyễn Tấn


Chương 05 - 32
Trần Minh Khang
Khoa CNTT KTLT

11. KỸ THUẬT SẮP XẾP

 Định nghĩa hàm


1. void SapTang(PHANSO a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. for(int j=i+1;j<=n-1;j++)
5. if (sosanh(a[i],
a[j])==1)
6. {
7. PHANSO temp=a[i];
8. a[i] = a[j];
9. a[j] = temp;
10. }
11.}
ThS. Nguyễn Tấn
Chương 05 - 33
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

 Bài toán: Viết chương trình thực hiện các


yêu cầu sau:
a) Nhập mảng một chiều các số nguyên.
b) Xuất mảng.
c) Đếm số lượng giá trị chẵn có trong mảng.
 Chương trình

ThS. Nguyễn Tấn


Chương 05 - 34
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

1. #include <stdio.h>
2. #include <conio.h>
3. void Nhap(int [],int &);
4. void Xuat(int [],int);
5. int DemChan(int [],int);

ThS. Nguyễn Tấn


Chương 05 - 35
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

1. void main()
2. {
3. int b[100];
4. int k;
5. Nhap(b,k);
6. printf(“\n Mang ban dau:”);

7. Xuat(b,k);
8. int kq = DemChan(b,k);
9. printf(“\n…: %d”, kq);
10. }

ThS. Nguyễn Tấn


Chương 05 - 36
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

1. void Nhap(int a[],int &n)


2. {
3. printf(“Nhap n:”);
4. scanf(“%d”,&n);
5. for(int i=0;i<n;i++)
6. {
7. printf(“Nhap a[%d]:”,i);
8. scanf(“%d”,&a[i]);
9. }
10. }

ThS. Nguyễn Tấn


Chương 05 - 37
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

1. void Xuat(int a[],int n)


2. {
3. for(int i=0;i<n;i++)
4. printf(“%4d”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 38
Trần Minh Khang
Khoa CNTT KTLT

12. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU ĐẦU TIÊN

1. int DemChan(int a[],int n)


2. {
3. int dem = 0;
4. for(int i=0;i<n;i++)
5. if(a[i]%2==0)
6. dem++;
7. return dem;
8. }

ThS. Nguyễn Tấn


Chương 05 - 39
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

 Bàitoán: Viết chương


trình thực hiện các yêu
cầu sau:
a) Nhập mảng một chiều
các số thực.
b) Xuất mảng.
c) Tìm giá trị nhỏ nhất có
trong mảng.
 Chương trình
ThS. Nguyễn Tấn
Chương 05 - 40
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

1. #include <stdio.h>
2. #include <conio.h>
3. void Nhap(float [],int &);
4. void Xuat(float [],int);
5. float NhoNhat(float [],int);

ThS. Nguyễn Tấn


Chương 05 - 41
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

1. void main()
2. {
3. float b[100];
4. int k;
5. Nhap(b,k);
6. printf(“\n Mang ban dau:”);

7. Xuat(b,k);
8. float kq = NhoNhat(b,k);
9. printf(“\n…: %f”, kq);
10. }

ThS. Nguyễn Tấn


Chương 05 - 42
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

1. void Nhap(float a[],int &n)


2. {
3. printf(“Nhap n:”);
4. scanf(“%d”,&n);
5. for(int i=0;i<n;i++)
6. {
7. printf(“Nhap a[%d]:”,i);
8. scanf(“%f”,&a[i]);
9. }
10. }

ThS. Nguyễn Tấn


Chương 05 - 43
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

1. void Xuat(float a[],int n)


2. {
3. for(int i=0;i<n;i++)
4. printf(“%5.2f”,a[i]);
5. }

ThS. Nguyễn Tấn


Chương 05 - 44
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ HAI

1. float NhoNhat(float a[],int n)


2. {
3. float lc = a[0];
4. for(int i=0;i<n;i++)
5. if(a[i]<lc)
6. lc = a[i];
7. return lc;
8. }

ThS. Nguyễn Tấn


Chương 05 - 45
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Bài toán: Viết chương trình thực hiện các


yêu cầu sau:
 Nhập mảng một chiều các số nguyên.
 Xuất mảng
 Tính tổng các giá trị chẵn có trong mảng.
 Tìm giá trị nhỏ nhất
 Sắp mảng giảm dần

ThS. Nguyễn Tấn


Chương 05 - 46
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Chương trình
1. #include <stdio.h>
2. #include <conio.h>
3. #include <string.h>
4. #include <math.h>

5. void Nhap(int [],int &);


6. void Xuat(int [],int);
7. int TongChan(int [],int);
8. int NhoNhat(int [],int);
9. void SapGiam(int [],int);

ThS. Nguyễn Tấn


Chương 05 - 47
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

1. void main()
2. {
3. int b[100];
4. int k;
5. Nhap(b,k);
6. printf(“\nMang ban dau: ”);
7. Xuat(b,k);
8. int kq = TongChan(b,k);
9. printf(“\nTong chan la: %d”, kq);
10. kq = NhoNhat(b,k);
11. printf(“\nNho nhat: %d”,kq);
12. SapGiam(b,k);
13. printf(“\nMang sau khi sap giam”);
14. Xuat(b,k);
15. }
ThS. Nguyễn Tấn
Chương 05 - 48
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Định nghĩa hàm


1. void Nhap(int a[],int &n)
2. {
3. printf(“Nhap n:”);
4. scanf(“%d”,&n);
5. for(int i=0;i<n;i++)
6. {
7. printf(“Nhap a[%d]:”,i);
8. scanf(“%d”,&a[i]);
9. }
10. }

ThS. Nguyễn Tấn


Chương 05 - 49
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Định nghĩa hàm


1. void Xuat(int a[],int n)
2. {
3. for(int i=0;i<n;i++)
4. {
5. printf(“%4d”,a[i]);
6. }
7. }

ThS. Nguyễn Tấn


Chương 05 - 50
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Định nghĩa hàm


1. int TongChan(int a[],int n)
2. {
3. int s=0;
4. for(int i=0;i<n;i++)
5. {
6. if (a[i]%2==0)
7. s = s + a[i];
8. }
9. return s;
10.}

ThS. Nguyễn Tấn


Chương 05 - 51
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Định nghĩa hàm


1. int NhoNhat(int a[],int n)
2. {
3. int lc = a[0];
4. for(int i=0;i<n;i++)
5. {
6. if (a[i]<lc)
7. lc = a[i];
8. }
9. return lc;
10.}

ThS. Nguyễn Tấn


Chương 05 - 52
Trần Minh Khang
Khoa CNTT KTLT

13. CHƢƠNG TRÌNH MẢNG


MỘT CHIỀU THỨ BA

 Định nghĩa hàm


1. void SapGiam(int a[],int n)
2. {
3. for(int i=0;i<=n-2;i++)
4. for(int j=i+1;j<=n-1;j++)
5. if (a[i]<a[j])
6. {
7. int temp = a[i];
8. a[i] = a[j];
9. a[j] = temp;
10. }
11.}

ThS. Nguyễn Tấn


Chương 05 - 53
Trần Minh Khang

You might also like