1. Trang chủ
  2. » Công Nghệ Thông Tin

slide bài giảng nhập môn lập trình mảng và mảng một chiều

32 2,6K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 1,51 MB

Nội dung

Mảng một chiều Khởi tạo mảng một chiều Duyệt mảng một chiều Nhập hoặc Xuất mảng một chiều Sắp Xếp Mảng Bubble sort Cấp Phát Vùng Nhớ Động là những kiến thức mà chúng tôi sẽ cung cấp cho bạn trong bài viết mảng và mảng một chiều này .hi vọng sẽ giúp ich nhiều cho các bạn trong học tập nghiên cứu

www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  Nhập Môn Lập Trình MảngMảng Một Chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  Road Map  Khái Niệm MảngMảng một chiều  Khởi tạo mảng 1 chiều  Duyệt mảng 1 chiều  Nhập/ Xuất mảng 1 chiều  Sắp Xếp Mảng  Bubble sort  Cấp Phát Vùng Nhớ Động www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 3  Array = Mảng: là một tập hợp nhiều phần tử có cùng kiểu chung một tên  Sắp xếp các biến cùng kiểu dữ liệu thành một dãy liên tiếp.  Ví dụ: int array_int [5]; /* Mảng array_int có 5 phần tử kiểu int xếp liên tiếp*/ float array_float [1000]; /* Mảng array_float có 1000 phần tử kiểu float xếp liên tiếp */ Khái niệm mảng www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 4  Mảng một chiềumảng mà những phần tử của nó được xác định một chỉ số.  Khai báo bien_so kiểu Array <T> : <T> bien_so [n]; Trong đó: <T> là kiểu dữ liệu bien_so : tên biến n: số phần tử của Array  Khai báo tường minh: int A[10]; float X[20];  Khai báo không tường minh: int A[ ]; float B[ ]; Mảng Một Chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 5 7 4 10 15 90 30 3 21 56 80 Mảng B Phần tử B[3] có giá trị là 15 0 1 2 3 4 5 6 7 8 9 chỉ số Mảng Một Chiều  Ví dụ: int B[10]; www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 6  Khởi tạo = khai báo + gán giá trị cho mảng Cú pháp khởi tạo mảng #include<stdio.h> #include<conio.h> #define SIZE 5 void main() { clrscr(); int a[SIZE]={4,6,3,8,9}; for(int i=0; i<SIZE; i++) printf("\na[%d]=%d",i, a[i]); getch(); } Khởi tạo mảng 1 chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 7  Gán giá trị cho mảng dùng vòng lặp #include<stdio.h> #include<conio.h> #define SIZE 10 void main() { clrscr(); int value[SIZE]; /* value is an array of 10 integers */ int i; /* counter */ /* initialise elements of array to 0 */ for( i=0; i< SIZE; i++) { value[i] = 0; } } Khởi tạo mảng 1 chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 8  Lỗi thường gặp khi khai báo : int n[10]; n[0]++; /* quên gán giá trị trước khi dùng */ int b[5] = { 1, 3, 5, 7, 9, 11 }; /* gán nhiều giá trị hơn số phần tử */  int n[10] = { 0 }; /* gán giá trị zero cho phần từ đầu tiên */ /* đồng thời gán giá trị zero cho tất cả phần tử còn lại vì số giá trị dùng để gán ít hơn số phần tử của mảng */  int n[] = { 1, 3, 5, 7, 9 } /* Khởi tạo mảng có 5 phần tử số nguyên */ Mảng Một Chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 9  Xử lý mảng = Xử lý nhóm các phần tử = Xử lý mỗi phần tử trong mảng.  Một phần tử được xác định bởi một chỉ số for (i=0; i<n; i++) xử lý a[i]; for (i=0; i<n; i++) if (Điều kiện) xử lý a[i];  Duyệt mảng ngược for (i=n-1; i>=0; i ) xử lý a[i]; for (i=n-1; i>=0; i ) if (điều kiện) xử lý a[i];  Duyệt mảng xuôi Duyệt mảng 1 chiều www.hoasen.edu.vn Cùng Đại học Hoa Sen xây dựng tương lai  www.hoasen.edu.vn 10 #include <stdio.h> #include <conio.h> #define SIZE 5 void main() { clrscr(); int a[SIZE]={4,6,3,8,9},S1=0, S2=0, S3=0, i; printf("noi dung mang:"); for(i=0; i< SIZE; i++) printf("%3d", a[i]); for(i=0; i< SIZE; i++) S1 += a[i]; printf("\nTong mang: %d", S1); for(i=0; i< SIZE; i++) if(a[i]%2==0) S2+=a[i]; printf("\nTong mang chan: %d", S2); for(i= SIZE-1; i>=0; i ) if(a[i]%2) S3+=a[i]; printf("\nTong mang le: %d", S3); getch(); } Duyệt mảng ngược Duyệt mảng có điều kiện Duyệt mảng không có điều kiện 18 12 Minh họa duyệt mảng 1 chiều [...]... lẻ 3/ Viết chương trình nhập 1 mảng số nguyên có n phần, tính tổng của các phần tử dương, tổng các phần tử âm 4/ Viết chương trình nhập một mảng số thực có n phần tử, hãy tính giá trị trung bình của các phần tử trong mảng đó, làm tròn 2 số lẻ 5/ Viết chương trình nhập một mảng ký tự có n phần tử, hãy kiểm tra xem có bao nhiêu phần tử trùng nhau trong mảng 6/ Viết chương trình tạo một mảng số nguyên ngẫu... www.hoasen.edu.vn Bài tập điểm cộng tại nhà 1 2 Hãy viết mã giả, vẽ lưu đồ, viết chương trình cho thuật toán Bubble Sort với phương án tim số lớn nhất chuyển đến cuối mảng Giải thuật trình bài trong slide bài giảng cho Bubble sort là chưa được tối ưu Xem ví dụ sau: Cho mảng A[] = {2,5,7,1,9} Sau 1 vòng sắp xếp, mảng trở thành A[] = {1,2,5,7,9} Như vậy mảng đã được sắp xếp theo thứ tự chương trình nên... các yêu cầu sau: - Xuất mảng đó ra màn hình - Thêm 1 phần từ vào cuối mảng - Thêm 1 phần từ vào đầu mảng - Thêm 1 phần tử vào ví trí bất kỳ - Xuất lại mảng ra màn hình  Cùng Đại học Hoa www.hoasen.edu.vn Sen xây dựng tương lai 30 www.hoasen.edu.vn Bài tập điểm cộng tại nhà Bài tập 5: Viết chương trình nhập n phần tử số nguyên vào mảng Rồi thực hiện các yêu cầu sau: - Xuất mảng đó ra màn hình -... a[j-1]; a[j-1] = t; } //Xuất mảng đã sắp xếp tăng for (i=0; i .  www.hoasen.edu.vn 3  Array = Mảng: là một tập hợp nhiều phần tử có cùng kiểu và chung một tên  Sắp xếp các biến cùng kiểu dữ liệu thành một dãy liên tiếp.  Ví dụ: int array_ int [5]; /* Mảng array_ int. dụ: int array_ int [5]; /* Mảng array_ int có 5 phần tử kiểu int xếp liên tiếp*/ float array_ float [1000]; /* Mảng array_ float có 1000 phần tử kiểu float xếp liên tiếp */ Khái niệm mảng www.hoasen.edu.vn Cùng. định một chỉ số.  Khai báo bien_so kiểu Array <T> : <T> bien_so [n]; Trong đó: <T> là kiểu dữ liệu bien_so : tên biến n: số phần tử của Array  Khai báo tường minh: int A[10];

Ngày đăng: 17/06/2014, 15:03

TỪ KHÓA LIÊN QUAN

w