Bài giảng lập trình c cơ bản chương 5 mảng một chiều

47 617 0
Bài giảng lập trình c cơ bản chương 5 mảng một chiều

Đ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

* CH NG 5ƯƠ M NG M T CHI UẢ Ộ Ề 9 / 4 / 1 5 1 9/4/15 2 * KHÁI NI MỆ * Mang th c châ t la môt biê n đ c câ p pha t bô nh liên ́ ̀ ́ ́ ́ ́̉ ự ̣ ượ ̣ ơ tuc va bao gô m nhiê u biê n tha nh phâ n.̀ ̀ ̀ ́ ̀ ̣̀ * Ca c tha nh phâ n cua mang la tâp h p ca c biê n co cu ng ́ ̀ ̀ ̀ ́ ́ ́ ̀̉ ̉ ̣ ợ kiêu d liêu va cu ng tên. Do đo đê truy xuâ t ca c biê n ̃ ̀ ̀ ́ ́ ́ ́̉ ư ̣ ̉ tha nh phâ n, ta du ng c chê chi muc.̀ ̀ ̀ ́ơ ̉ ̣ 0 1 2 3 4 5 6 7 8 9 Giá trị V tríị V trí đ c tính t 0ị ượ ừ 9/4/15 3 * KHAI BÁO *  *  *   < Kiểu dữ liệu > < Tên mảng > [ < Số phần tử tối đa của mảng> ] ; 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 void main() { int a[MAX], b[MAX]; //Các l nhệ } 9/4/15 4 * KHAI BÁO VÀ GÁN GIÁ TR BAN Ị Đ U CHO M NGẦ Ả Gán t ng ph n từ ầ ử int a[5] = {3, 6, 8, 1, 12}; Gán toàn b ph n t có cùng giá trộ ầ ử ị int a[8] = {3}; Giá trị 3 6 8 1 12 V tríị 0 1 2 3 4 Giá trị 3 3 3 3 3 3 3 3 V tríị 0 1 2 3 4 5 6 7 9/4/15 5 * TRUY XU T GIÁ TRẤ Ị TênMảng [vị trí cần truy xuất] void main() { int a[5] = {3, 6, 8, 11, 12}; cout<<“Giá tr m ng t i v trí 3 = “<<a[3];ị ả ạ ị } K t qu : Giá tr m ng t i v trí 3 = 11ế ả ị ả ạ ị V trí 3ị 9/4/15 6 * CÁ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 9/4/15 7 * NH P XU T M NGẬ Ấ Ả  !" #$% &'( ) &*+,,( ) ++-%-++++ - // 0 0 # 9/4/15 8 $" &'( ) &*+,,( ++++-12 0 # $&( )  !"' ++-%.- // % &'( ++-3$.2++ " &'( 0 9/4/15 9 * LI 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; i<n; i++) if (a[i]  ỏ đi u ki nề ệ ) Xu t a[i];ấ } M u 2: ẫ void LietKeXXX(int a[], int n, int x) { for (int i = 0; i<n; i++) if (a[i]  ỏ đi u ki n ề ệ $ 4ớ ) Xu t a[i];ấ } 9/4/15 10 Ví d 1:ụ Li t kê các ph n t có 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”; } Ví d 2:ụ Li t kê các ph n t có giá tr l n h n x trong m ngệ ầ ử ị ớ ơ ả void LietKeLonHonX(int a[], int n, int x) { for (int i = 0; i<n; i++) if (a[i] > x) cout<<a[i]<<“\t”; } [...]... với phần tử thứ nhất, thứ hai, c a mảng a cho đến khi gặp đư c phần tử c n tìm, ho c đã tìm hết mảng mà không thấy x Minh họa tìm x =10 10 7 5 12 41 10 32 13 9 15 3 1 2 3 4 5 6 7 8 9 10 Minh họa tìm x = 25 25 7 5 12 41 10 32 13 9 15 3 1 2 3 4 5 6 7 8 9 10 31 Chưa Đã tìm thấy tại hết vị trí 5 mảng Chưa Đã hết hết mảng mảng *CODE MINH HỌA (nếu x không xuất hiện trong mảng trả về -1) int TimVTX(int a[],... 10 1 5 7 2 3 3 4 15 9 5 1 6 2 7 8 25 1 nhỏ hơn 3 Bư c 2: So sánh giá trị tại vtmin với tất c nên c p giá trị tại ậị trí trí lại (từ 2 đến 8), nếu c v t vị c n nh phần tử nào nhỏ hơn phần tử tại vtmin thì min c p nhật lại vtmin vtmin 10 1 5 7 2 3 3 4 15 9 5 1 6 2 7 8 26 15 lớn hơn 1 Bư c 2: So sánh giá trị tại vtmin với tất c nên không giá trị tcập nhậtcòn lại (từ 2 đến 8), nếu c ại vị trí vị phần... 8), nếu c 5 nhỏ hơn phần tử nào nhỏ hơn phần tử tại vtmin thì 10 nên c p c p nhật lại vtmin ật vị trí vtmin nh min 10 1 5 7 2 3 3 4 15 9 5 1 6 2 7 8 22 Bư c 2: So sánh giá trị tại vtmin với tất c giá trị tại vị trí c n lại (từ 2 đến 8), nếu c 7 lớn hơn 5 phần tử nào nhỏ hơn phần tử tại vtmin thì nên không c p nhvtminlại vtmin c p nhật vị ật trí min 10 1 5 7 2 3 3 4 15 9 5 1 6 2 7 8 23 Bư c 2: So... tất c giá trị tại vị trí c n lại (từ 2 đến 8), nếu c 3 nhỏ hơn 5 phần tử nào nhỏ hơn phần tử tại vtmin thì nên c p c p nhvtminlại vtmin ật nhật vị trí min 10 1 5 7 2 3 3 4 15 9 5 1 6 2 7 8 24 Bư c 2: So sánh giá trị tại vtmin lvới hơn 3ả tất c 9 ớn giá trị tại vị trí c n lại (từ 2 đến 8),không c nên nếu phần tử nào nhỏ hơn phần tử tcậpvtmin vị ại nhật thì c p nhật lại vtmin trí min vtmin 10 1 5 7... XuatMang(int a[], int n) { for(int i=0; i . ̣̀ * Ca c tha nh phâ n cua mang la tâp h p ca c biê n co cu ng ́ ̀ ̀ ̀ ́ ́ ́ ̀̉ ̉ ̣ ợ kiêu d liêu va cu ng tên. Do đo đê truy xuâ t ca c biê n ̃ ̀ ̀ ́ ́ ́ ́̉ ư ̣ ̉ tha nh phâ n, ta du ng c chê chi. * CH NG 5 Ơ M NG M T CHI UẢ Ộ Ề 9 / 4 / 1 5 1 9/4/ 15 2 * KHÁI NI MỆ * Mang th c châ t la môt biê n đ c câ p pha t bô nh liên ́ ̀ ́ ́ ́ ́̉ ự ̣ ượ ̣ ơ tuc va bao gô m nhiê u. phần tử tối đa của mảng> ] ; 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:ủ

Ngày đăng: 04/09/2015, 15:17

Từ khóa liên quan

Mục lục

  • Slide 1

  • KHÁI NIỆM

  • KHAI BÁO

  • KHAI BÁO VÀ GÁN GIÁ TRỊ BAN ĐẦU CHO MẢNG

  • TRUY XUẤT GIÁ TRỊ

  • CÁC THAO TÁC TRÊN MẢNG

  • NHẬP XUẤT MẢNG

  • Slide 8

  • LIỆT KÊ CÁC PHẦN TỬ THỎA ĐK CHO TRƯỚC

  • Slide 10

  • Slide 11

  • Slide 12

  • ĐẾM

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • TÌM VỊ TRÍ PHẦN TỬ NHỎ NHẤT?

Tài liệu cùng người dùng

Tài liệu liên quan