33
1 Chương 5 KIỂU DỮ LIỆU MẢNG Giảng Viên: ThS. Dương Thành Phết Email: [email protected] Website: http://www.thayphet.net Tel: 0918158670 facebook.com/duongthanhphet KỸ THUẬT LẬP TRÌNH C/C++ TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN

KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

1

Chương 5

KIỂU DỮ LIỆU MẢNG

Giảng Viên: ThS. Dương Thành Phết

Email: [email protected]

Website: http://www.thayphet.net

Tel: 0918158670 – facebook.com/duongthanhphet

KỸ THUẬT LẬP TRÌNH C/C++

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

Page 2: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 2

2

NỘI DUNG

1. Giới thiệu mảng 1 chiều.

2. Các thao tác trên mảng 1 chiều

3. Mảng nhiều chiều

Page 3: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 3

1.1. ĐỊNH NGHĨA MẢNG

Mảng thưc chât la môt biên bao gôm nhiều

biên thanh phân đươc câp phát bô nhớ liên tuc.

Các thanh phân cua mảng la tâp hơp các biên

co cung kiêu dữ liệu va cung tên.

Đê truy xuât các biên thanh phân, ta dung cơ

chê chi số (vị trí).

3 0 1 2 3 4 5 6 7 8 9

Giá trị

Vị trí

1. GIỚI THIỆU

Page 4: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 4

1.2. KHAI BÁO

int a[100];

Khai bao mang so nguyen a gom 100 phan tu

float b[50];

Khai bao mang so thuc b gom 50 phan tu

char str[30];

Khai bao mang ky tu str gom 30 ky tu 4

< Kiểu DL> < Tên mảng > [<Sô phần tử tôi đa>] ;

1. GIỚI THIỆU

Page 5: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 5

1.3. GÁN GIÁ TRỊ BAN ĐẦU CHO MẢNG

int a[5] = {3, 6, 8, 1, 12};

a[0] = 3, a[1] = 6, a[2] = 8, …

5

int a[10] = {0};

a[0]=a[1]=a[2]=a[3]=…=a[9]=0

1. GIỚI THIỆU

Page 6: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 6

1.4. TRUY XUẤT

Vị trí 0 1 2 3 4

A 7 8 6 9 2

A[0] A[1] A[2] A[3] A[4]

7 8 6 9 2

6

1. GIỚI THIỆU

Page 7: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 7

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

1. Nhâp mảng

2. Phát sinh mảng ngẫu nhiên

3. Xuât mảng

4. Xuât các phân tử thỏa điều kiện

5. Đêm các phân tử thỏa điều kiện

6. Tìm kiêm các phân tử thỏa điều kiện

7. Kiêm tra mảng thỏa điều kiện cho trước

8. Tính toán các phân tử trong mảng

9. Sắp xêp mảng

10.Thêm, Xoa, Sửa

7

Page 8: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 8

1. NHẬP MẢNG

void Nhapmang (int a[], int n)

{

for (int i = 0; i < n; i ++)

{

cout<<“Nhap phan tu thu “<<i<<“: “;

cin>>a[i];

}

}

8

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 9: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 9

2.2. PHÁT SINH MẢNG NGẪU NHIÊN

void Phatsinhmang (int a[], int n)

{

srand((int) time(NULL));

for(int i=0;i<n;i++)

a[i]=rand() % 101 ; // so ngau nhien tu 0-10

}

9

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Ghi chú: cần khai báo thư viện time.h (#include”time.h”)

Page 10: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 10

2.3. NHẬP XUẤT MẢNG

10

void Xuatmang (int a[], int n)

{

for (int i = 0; i < n; i ++)

cout<<a[i]<<“\t”;

}

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 11: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 11

void main ( )

{

int a[100] , n;

cout<<“Nhap kich thuoc mang: “;

cin>>n;

Nhapmang (a,n); //Hoac Phatsinhmang(a,n)

cout<<“Cac gia tri cua mang vua nhap: ”;

Xuatmang (a,n);

}

11

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 12: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 12

2.4. XUẤT CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

Mẫu 1:

void LietKeXXX(int a[], int n){

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện)

Xuất a[i];

}

12

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Ví dụ 1: Liệt kê các phân tử co giá trị chẵn trong mảng

void LietKeChan(int a[], int n){

for (int i = 0; i<n; i++)

if (a[i] %2 ==0)

cout<<a[i]<<“\t”;

}

Page 13: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 13

Ví dụ 2: Liệt kê các phân tử co giá trị lớn hơn x trong mảng

13

void LietKeLonHonX(int a[], int n, int x){

for (int i = 0; i<n; i++)

if (a[i] > x)

cout<<a[i]<<“\t”;

}

2.4. XUẤT CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Mẫu 2:

void LietKeXXX(int a[], int n, int x){

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện so với x)

Xuất a[i];

}

Page 14: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 14

2.5 ĐẾM CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

Mẫu 1:

int DemXXX(int a[], int n){

int d = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện)

d++;

return d;

}

14

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

bool LaSNT(int k) {

int d = 0;

for (int i = 2; i <= k/2; i++)

if (k % i == 0)

return false;

return true;

}

int DemSNT(int a[], int n){

int d = 0;

for (int i = 0; i<n; i++)

if (LaSNT(a[i]) ==true)

d++;

return d;

}

Ví dụ 1:

Đêm các phân tử có giá trị

là số nguyên tố

Page 15: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 15

Ví dụ 2:

Đêm số phân tử có

trong mảng mà giá trị

nhỏ hơn x

2.5 ĐẾM CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Mẫu 2:

int DemXXX(int a[], int n, int x){

int d = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện so với x)

d++;

return d;

} int DemNhoHonX(int a[], int n, int x){

int d = 0;

for (int i = 0; i<n; i++)

if (a[i] < x)

d++;

return d;

}

Page 16: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 16

2.6. TÌM KIẾM CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

16

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Mẫu 1: Tìm và trả về vị trí phần tử thỏa điều kiện

int TimXXX(int a[], int n){

int vt = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện)

vt=i;

return vt;

} Ví dụ 1: Tìm và trả về vị trí phần tử có giá trị lớn nhất

int TimVTMax(int a[], int n){

int vtmax = 0;

for (int i = 0; i < n; i++)

if (a[i] > a[vtmax])

vtmax = i;

return vtmax;

}

Page 17: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 17

17

2.6. TÌM KIẾM CÁC PHẦN TỬ THỎA ĐIỀU KIỆN

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Mẫu 2: Tìm và trả về vị trí phần tử thỏa điều kiện so với x

int TimXXX(int a[], int n){

int vt = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện so với x)

vt=i;

return vt;

}

Ví dụ 2:

Tìm vị trí phân tử có giá trị

x (nếu x không xuất hiện

trong mảng trả về -1)

int TimVTX(int a[], int n, int x){

for (int i = 0; i < n; i++)

if (a[i] == x)

return i;

return -1;

}

Page 18: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 18

2.7. KIỂM TRA MẢNG CÓ THỎA ĐK CHO TRƯỚC

Mẫu 1: kiểm tra tồn tại môt phân tử trong mảng thỏa điều

kiện cho trước tìm phân tử thỏa điều kiện đê kêt luân có

hay không?.

18

bool KiemTraTonTaiXXX(int a[], int n){

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện)

return true;

return false;

} bool KiemTraTonTaiLe(int a[], int n){

foreach (int giatri in a)

if (giatri % 2 != 0)

return true;

return false;

}

Ví dụ 1:

Kiêm tra xem mảng

có tôn tại số lẻ

không?

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 19: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 19

19

bool KiemTraXXX(int a[], int n){

for (int i = 0; i<n; i++)

if (a[i] không thỏa điều kiện)

return false;

return true;

}

Mẫu 2: kiểm tra tất cả các phân tử thỏa điều kiện nào đo

cho trước tìm phân tử không thỏa điều kiện đê kêt luân

mảng không thỏa điều kiện.

2.7. KIỂM TRA MẢNG CÓ THỎA ĐK CHO TRƯỚC

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Ví du 2:

Kiêm tra xem mảng có

toàn giá trị âm không?

(true: có/ false: không)

bool KiemTraToanAm(int a[], int n){

for (int i = 0; i<n; i++)

if (a[i] >= 0)

return false;

return true;

}

Page 20: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 20

2.8. TÍNH TOÁN CÁC PHẦN TỬ TRONG MẢNG

Mẫu tính tổng:

int TongXXX(int a[], int n){

int s = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện)

s += a[i];

return s;

}

20

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Ví dụ:

Tính tổng các phân tử có

giá trị lẻ trong mảng.

int TongLe(int a[], int n) {

int s = 0;

for (int i = 0; i<n; i++)

if (a[i] %2!=0)

s += a[i];

return s;

}

Page 21: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 21

Mẫu tính trung bình:

float TrungBinhXXX(int a[], int n){

int s = 0;

int d = 0;

for (int i = 0; i<n; i++)

if (a[i] thỏa điều kiện){

s += giatri;

d ++;

}

if (d==0)

return 0;

return (float) s / d;

} 21

2.8. TÍNH TOÁN CÁC PHẦN TỬ TRONG MẢNG

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 22: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 22

Ví dụ: Tính giá trị TB các phân tử co giá trị âm trong mảng

22

float TrungBinhAm(int a[], int n){

long s = 0;

int d = 0;

for (int i = 0; i<n; i++)

if (a[i] < 0){

s += a[i];

d++;

}

if (d == 0)

return 0;

return (float)s / d;

}

2.8. TÍNH TOÁN CÁC PHẦN TỬ TRONG MẢNG

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 23: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 23

Minh họa thuật toán

23

2 12 8 5 1 6 4

i=1 j=2 j=5 i=2 j=3 j=4 i=3 j=7 i=4 j=6 i=5 i=6 i=7

2.9. SẮP XẾP

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 24: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 24

2.9. SẮP XẾP

Mẫu phương thức sắp thứ tự tăng:

void SapTang(int a[], int n){

for (int i = 0; i < n-1; i ++)

for(int j = i+1; j < n; j ++)

if (a[i] > a[j])

HoanVi(a[i], a[j]);

}

void HoanVi(int &a, int &b){

int tam = a;

a = b;

b = tam;

}

24

2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU

Page 25: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 25

25

3. MẢNG NHIỀU CHIỀU

Mảng hai chiều thưc chât la mảng môt chiều trong đo

môi phân tử cua mảng la môt mảng môt chiều, và đươc

truy xuât bơi hai chi số dong va côt.

Từ khái niệm trên ta co thê đưa ra môt khái niệm về

mảng nhiều chiều như sau: mang co từ hai chiêu trơ

lên goi la mang nhiêu chiêu.

3.1 GIỚI THIỆU

Page 26: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 26

26

3. MẢNG NHIỀU CHIỀU

3.2. KHAI BÁO

Cách 1:

< Kiêu dư liệu > < Tên mảng > [< Sô dong][<Sô côt>];

Ví du:

int A[5][10]; // Khai báo mảng int gồm 5 dòng, 10 cột

float b[7][8]; // Khai báo mảng float gồm 7 dòng, 8 cột

Cách 2 :

< Kiêu dư liệu > **<Tên mảng>;

Ví du :

int **A ; // Khai báo mảng động 2 chiều kiểu int

float **B ; // Khai báo mảng động 2 chiều kiểu float

Page 27: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 27

3. MẢNG NHIỀU CHIỀU

3.3. TRUY XUẤT

Đê truy xuât các thanh phân cua mảng hai chiều ta phải

dưa vao chi số dong va chi số côt.

Ví du: int A[3][4] = { {2,3,9,4} , {5,6,7,6} , {2,9,4,7} };

Với các khai báo như trên ta co:

A[0][0] = 2; A[0][1] = 3;

A[1][1] = 6; A[1][3] = 6;

Page 28: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 28

3. MẢNG NHIỀU CHIỀU

3.4. MA TRẬN VUÔNG

Số dòng = Số côt

Đương cheo chính cua ma trân vuông:

chi sô dong = chi sô cột

Đương cheo phụ của ma trận vuông:

chi sô cột + chi sô dong = kích thước - 1

Cheo chính

Cheo phu

Page 29: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 29

BÀI TẬP

1. Viêt chương trình nhâp xuât mảng môt chiều các số

nguyên.

2. Viêt chương trình phát sinh ngẫu nhiên mảng môt

chiều các số nguyên từ -100 đên 100.

3. Viêt chương trình phát sinh ngẫu nhiên mảng môt

chiều các số nguyên sao cho mảng co thư tư tăng

dân (Không sắp xêp).

4. Viêt chương trình nhâp vao mảng môt chiều các số

nguyên va xuât ra các phân tử chẵn nhỏ hơn 20.

5. Viêt chương trình nhâp vao mảng môt chiều các số

nguyên va xuât ra man hình các phân tử la số nguyên

tố.

Page 30: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 30

BÀI TẬP

6. Viêt hàm tìm vị trí phân tử co giá trị x xuât hiện cuối

cung trong mảng.

7. Viêt hàm in vị trí các phân tử nguyên tố trong mảng

các số nguyên.

8. Viêt hàm tìm số lẻ lớn nhât co trong mảng, nêu không

tôn tại số lẻ hàm trả về -1.

9. Viêt hàm tìm va đổi chô phân tử lớn nhât với phân tử

nhỏ nhât trong mảng.

10.Nhâp vao X, viêt hàm in ra man hình những phân tử

co giá trị từ 1 đên X co trong mảng.

Page 31: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 31

BÀI TẬP

11.Viêt hàm đêm số lân xuât hiện cua phân tử x trong

mảng.

12.Viêt hàm đêm các phân tử la số hoan thiện trong

mảng.

13.Viêt hàm tính tổng các phân tử lẻ trong mảng các số

nguyên.

14.Viêt hàm tính tổng các phân tử là nguyên tố trong

mảng.

15.Viêt hàm tính tổng các phân tử năm ơ vị trí chẵn trong

mảng các số nguyên.

Page 32: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

http://www.thayphet.net 32

BÀI TẬP

16.Viêt hàm tính giá trị trung bình các số hoan thiện trong

mảng các số nguyên.

17.Viêt hàm tính giá trị trung bình các phân tử có giá trị là

ước số cua x trong mảng số nguyên (x nhâp từ bàn

phím).

18.Viêt hàm sắp xêp mảng theo thư tư giảm dân.

19.Viêt hàm sắp xêp mảng theo thư tư tăng dân cua các

phân tử la số nguyên tố.

20.Viêt hàm sắp xêp các phân tử lẻ tăng dân.

Page 33: KỸ THUẬT LẬP TRÌNH C/ - Thayphet.net · 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập mảng 2. Phát sinh mảng ngẫu nhiên 3. Xuất mảng 4. Xuất các phần

33

The End.