Bài giảng Lập trình C: Chương 5 - Trần Minh Thái
Số trang: 50
Loại file: pptx
Dung lượng: 154.63 KB
Lượt xem: 22
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Lập trình C - Chương 5: Mảng một chiều" cung cấp cho người học các kiến thức: Kiểu dữ liệu mảng một chiều, các thao tác nhập/ xuất mảng, kỹ thuật tìm kiếm, liệt kê giá trị trong mảng. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C: Chương 5 - Trần Minh Thái Lập trình C Chương 5. Mảng một chiều (6 tiết)Trần Minh TháiEmail: minhthai@huflit.edu.vnWebsite: www.minhthai.edu.vnCập nhật: 09/11/2016Mục tiêu1. Kiểu dữ liệu mảng một chiều2. Các thao tác nhập/ xuất mảng3. Kỹ thuật tìm kiếm, liệt kê giá trị trong mảng 2KHÁI NIỆM• ̉ được cấp phát bộ nhớ liên tuc Mang ̣ và bao gồm nhiềubiếnthànhphần• ̉ mang Các thành phần cua ̉ là tâp ̣ hợp các biến có cùngKDLvàcùngtên Giá trị 0 1 2 3 4 5 6 7 8 9 Vị trí Vị trí được tính từ 0 3KHAI BÁO< Kiểu dữ liệu > < Tên mảng > [ < Số phần tử tối đa của mảng> ] ; • 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 Nhằm thuận tiện cho việc viết chương trình, ta nên định nghĩa hằng số MAX ở đầu chương trình – là kích thước tối đa của mảng - như sau: #define MAX 100 int main() { int a[MAX], b[MAX]; //Các lệnh } 4KHAI BÁO VÀ GÁN GIÁ TRỊ BAN ĐẦU CHO MẢNGGán từng phần tửint a[5] = {3, 6, 8, 1, 12}; Giá trị 3 6 8 1 12 Vị trí 0 1 2 3 4Gán toàn bộ phần tử có cùng giá trịintGiá a[8] trị = {3}; 3 3 3 3 3 3 3 3 Vị trí 0 1 2 3 4 5 6 7 5 TRUY XUẤT GIÁ TRỊ TênMảng[vịtrícầntruyxuất]int main() Vị trí 3{ int a[5] = {3, 6, 8, 11, 12}; printf(“Gia tri mang tai vi tri 3 = “, a[3]); getch(); return 0;} 6CÁC THAO TÁC TRÊN MẢNG • Nhập • Xuất (liệt kê) • Tìm kiếm • Đếm • Sắp xếp • Kiểm tra mảng thỏa điều kiện cho trước • Tách/ ghép mảng • Chèn / xóa 7NHẬP XUẤT MẢNGa[0] a[1] a[2] a[3] a[4] a[5] … a[n- 1] Nhậpa[0] Nhậpa[1] Nhậpa[2] Nhậpa[i],0 NHẬP/ XUẤT MẢNG#define MAX 100void NhapKichThuoc(int &n){ printf(Nhap vao kich thuoc mang: ); scanf(%d, &n);}void NhapMang(int a[], int n){ for (int i = 0; i < n; i++) { printf(* Nhap vao phan tu tai vi tri %d: , i); scanf(%d, &a[i]); } 9}void XuatMang(int a[], int n){ for(int i=0; iPHÁT SINH CÁC GIÁ TRỊ CHO MẢNG• Sử dụng thư viện hàm và • Dùng hàm srand() trong hàm main() trước khi gọi hàm phát sinh: để khởi tạo bộ giá trị ngẫu nhiên• Dùng hàm rand()%k để phát sinh số ngẫu nhiên: có giá trị từ 0 đến k-1 11Ví dụ: Chương trình tạo mảng số nguyêncó giá trị ngẫu nhiên từ 1 đến MAX#include #include #include #include #pragma warning(disable: 4996);#define MAX 100void NhapKichThuoc(int &n);void PhatSinh(int a[], int n);void XuatMang(int a[], int n); 12void NhapKichThuoc(int &n){ printf(Nhap vao kich thuoc mang: ); scanf(%d, &n);}void PhatSinh(int a[], int n){ for (int i = 0; i < n; i++) { a[i] = rand() % MAX + 1; }}void XuatMang(int a[], int n){ for(int i=0; iint main(){ int a[MAX], n; NhapKichThuoc(n); srand((unsigned int)time(NULL)); PhatSinh(a, n); printf(Cac gia tri trong mang a:\n); XuatMang(a, n); getch(); return 0;} 14Bài tập• Cho mảng một chiều số nguyên a, kích thước n. Hãy viết các hàm:1. Phát sinh giá trị các phần tử ngẫu nhiên theo thứ tự tăng dần cho a.2. Phát sinh giá trị các phần tử ngẫu nhiên có giá âm và dương. 15LIỆT KÊ CÁC PHẦN TỬ THỎA ĐK CHO TRƯỚC Mẫu 1: void LietKeXXX(int a[], int n) { for (int i = 0; iLIỆT KÊ CÁC PHẦN TỬ THỎA ĐK CHO TRƯỚC Mẫu 2: void LietKeXXX(int a[], int n, int x) { for (int i = 0; iVí dụ 1: Liệt kê các phần tử có giá trị chẵn trong mảngvoid LietKeChan(int a[], int n){ for (int i = 0; iVí dụ 3: Chương trình nhập vào mảng một chiều sốnguyên a, kích thước n. In ra các phần tử có giá trị lớn hơnx có trong mảng#define MAX 100voidNhapKichThuoc(int&n);void NhapMang(int a[], int n);void XuatMang(int a[], int n);void LietKeLonHonX(int a[], int n, int x);voidNhapKichThuoc(int&n){ prinft(“Nhapvaokichthuocmang:“); scanf(“%d”,&n);}voidNhapMang(inta[],intn){ for(inti=0;ivoidXuatMang(inta[],intn){ for(inti=0;i ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C: Chương 5 - Trần Minh Thái Lập trình C Chương 5. Mảng một chiều (6 tiết)Trần Minh TháiEmail: minhthai@huflit.edu.vnWebsite: www.minhthai.edu.vnCập nhật: 09/11/2016Mục tiêu1. Kiểu dữ liệu mảng một chiều2. Các thao tác nhập/ xuất mảng3. Kỹ thuật tìm kiếm, liệt kê giá trị trong mảng 2KHÁI NIỆM• ̉ được cấp phát bộ nhớ liên tuc Mang ̣ và bao gồm nhiềubiếnthànhphần• ̉ mang Các thành phần cua ̉ là tâp ̣ hợp các biến có cùngKDLvàcùngtên Giá trị 0 1 2 3 4 5 6 7 8 9 Vị trí Vị trí được tính từ 0 3KHAI BÁO< Kiểu dữ liệu > < Tên mảng > [ < Số phần tử tối đa của mảng> ] ; • 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 Nhằm thuận tiện cho việc viết chương trình, ta nên định nghĩa hằng số MAX ở đầu chương trình – là kích thước tối đa của mảng - như sau: #define MAX 100 int main() { int a[MAX], b[MAX]; //Các lệnh } 4KHAI BÁO VÀ GÁN GIÁ TRỊ BAN ĐẦU CHO MẢNGGán từng phần tửint a[5] = {3, 6, 8, 1, 12}; Giá trị 3 6 8 1 12 Vị trí 0 1 2 3 4Gán toàn bộ phần tử có cùng giá trịintGiá a[8] trị = {3}; 3 3 3 3 3 3 3 3 Vị trí 0 1 2 3 4 5 6 7 5 TRUY XUẤT GIÁ TRỊ TênMảng[vịtrícầntruyxuất]int main() Vị trí 3{ int a[5] = {3, 6, 8, 11, 12}; printf(“Gia tri mang tai vi tri 3 = “, a[3]); getch(); return 0;} 6CÁC THAO TÁC TRÊN MẢNG • Nhập • Xuất (liệt kê) • Tìm kiếm • Đếm • Sắp xếp • Kiểm tra mảng thỏa điều kiện cho trước • Tách/ ghép mảng • Chèn / xóa 7NHẬP XUẤT MẢNGa[0] a[1] a[2] a[3] a[4] a[5] … a[n- 1] Nhậpa[0] Nhậpa[1] Nhậpa[2] Nhậpa[i],0 NHẬP/ XUẤT MẢNG#define MAX 100void NhapKichThuoc(int &n){ printf(Nhap vao kich thuoc mang: ); scanf(%d, &n);}void NhapMang(int a[], int n){ for (int i = 0; i < n; i++) { printf(* Nhap vao phan tu tai vi tri %d: , i); scanf(%d, &a[i]); } 9}void XuatMang(int a[], int n){ for(int i=0; iPHÁT SINH CÁC GIÁ TRỊ CHO MẢNG• Sử dụng thư viện hàm và • Dùng hàm srand() trong hàm main() trước khi gọi hàm phát sinh: để khởi tạo bộ giá trị ngẫu nhiên• Dùng hàm rand()%k để phát sinh số ngẫu nhiên: có giá trị từ 0 đến k-1 11Ví dụ: Chương trình tạo mảng số nguyêncó giá trị ngẫu nhiên từ 1 đến MAX#include #include #include #include #pragma warning(disable: 4996);#define MAX 100void NhapKichThuoc(int &n);void PhatSinh(int a[], int n);void XuatMang(int a[], int n); 12void NhapKichThuoc(int &n){ printf(Nhap vao kich thuoc mang: ); scanf(%d, &n);}void PhatSinh(int a[], int n){ for (int i = 0; i < n; i++) { a[i] = rand() % MAX + 1; }}void XuatMang(int a[], int n){ for(int i=0; iint main(){ int a[MAX], n; NhapKichThuoc(n); srand((unsigned int)time(NULL)); PhatSinh(a, n); printf(Cac gia tri trong mang a:\n); XuatMang(a, n); getch(); return 0;} 14Bài tập• Cho mảng một chiều số nguyên a, kích thước n. Hãy viết các hàm:1. Phát sinh giá trị các phần tử ngẫu nhiên theo thứ tự tăng dần cho a.2. Phát sinh giá trị các phần tử ngẫu nhiên có giá âm và dương. 15LIỆT KÊ CÁC PHẦN TỬ THỎA ĐK CHO TRƯỚC Mẫu 1: void LietKeXXX(int a[], int n) { for (int i = 0; iLIỆT KÊ CÁC PHẦN TỬ THỎA ĐK CHO TRƯỚC Mẫu 2: void LietKeXXX(int a[], int n, int x) { for (int i = 0; iVí dụ 1: Liệt kê các phần tử có giá trị chẵn trong mảngvoid LietKeChan(int a[], int n){ for (int i = 0; iVí dụ 3: Chương trình nhập vào mảng một chiều sốnguyên a, kích thước n. In ra các phần tử có giá trị lớn hơnx có trong mảng#define MAX 100voidNhapKichThuoc(int&n);void NhapMang(int a[], int n);void XuatMang(int a[], int n);void LietKeLonHonX(int a[], int n, int x);voidNhapKichThuoc(int&n){ prinft(“Nhapvaokichthuocmang:“); scanf(“%d”,&n);}voidNhapMang(inta[],intn){ for(inti=0;ivoidXuatMang(inta[],intn){ for(inti=0;i ...
Tìm kiếm theo từ khóa liên quan:
Lập trình C Bài giảng Lập trình C Đề cương môn học Mảng một chiều Kiểu dữ liệu mảng một chiều Thao tác nhập mảng Kỹ thuật tìm kiếm Liệt kê giá trị trong mảngTài liệu có liên quan:
-
Đề cương chi tiết học phần: Tâm lý học nông dân (Farmer Psychology)
7 trang 390 0 0 -
Đề cương chi tiết học phần: Khoa học gỗ
9 trang 368 0 0 -
Đề cương môn học: Cơ sở dữ liệu phân tán
8 trang 200 0 0 -
Tìm hiểu chương trình đào tạo ngành Điện tử - Viễn thông hệ đại học: Phần 2
174 trang 186 0 0 -
Đề cương chi tiết học phần Logic học đại cương
13 trang 151 1 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 138 0 0 -
Đề cương học tập môn Tin học văn phòng (Khối ngành Kinh tế - Luật – Quản trị kinh doanh)
17 trang 137 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 132 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 109 0 0 -
STL lập trình khái lược trong C++ part 1
35 trang 108 0 0