27
Session 3: Mảng

Session 3: Mảng

  • Upload
    jeb

  • View
    71

  • Download
    0

Embed Size (px)

DESCRIPTION

Session 3: Mảng. Mảng 1 chiều. Khai báo mảng. Cú pháp: [] Ví dụ: int[] a;. Khởi tạo mảng. Khởi tạo mảng: //Cách 1 int[] a; a = new int[5] {2, 5, 6, 7, 9 }; //Cách 2 int[] a = {2, 5, 6, 7, 9};. Bài tập 1:. - PowerPoint PPT Presentation

Citation preview

Page 1: Session 3: Mảng

Session 3: Mảng

Page 2: Session 3: Mảng

Mảng 1 chiều

Page 3: Session 3: Mảng

Khai báo mảng

Cú pháp:

<Kiểu dữ liệu>[] <Tên mảng>

Ví dụ:

int[] a;

Page 4: Session 3: Mảng

Khởi tạo mảng

Khởi tạo mảng:

//Cách 1

int[] a;

a = new int[5] {2, 5, 6, 7, 9 };

//Cách 2

int[] a = {2, 5, 6, 7, 9};

Page 5: Session 3: Mảng

Bài tập 1:

Viết chương trình nhập vào các tựa sách và hiển thị các tựa sách, sử dụng mảng 1 chiều

Hướng dẫn:

- string[] tuaSach = new string[6];

- sử dụng vòng lặp for để nhập các tựa sách

- sử dụng vòng lặp foreach để hiển thị các tựa sách

Page 6: Session 3: Mảng

Đáp án bài tập 1

Xem baiTap_Session3_0909A

Page 7: Session 3: Mảng

Bài tập 2:

Khởi tạo mảng 1 chiều có các giá trị sau: 4.3, 6.8, 32.12, –11.4, and 16.88.

Copy giá trị ở vị trí thứ 4 sang vị trí thứ 1;

Xuất các phần tử của mảng để kiểm tra

Page 8: Session 3: Mảng

Bài tập 3:

Viết chương trình sắp xếp mảng 1 chiều các số nguyên theo thứ tự tăng dần.

Page 9: Session 3: Mảng

Bài tập 4 (BTVN):

Khởi tạo M1C số nguyên gồm 5 phần tử.

int[ ] a = new int {0, 0, 0, 0, 0};

Tại mỗi phần tử của mảng a: tính phần trăm của các số phát sinh (theo đúng vị trí trong mảng a) lặp từ 1 đến 10 000.

Hướng dẫn:

Random ran = new Random();

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

{

temp = ran.Next(1, 6);

}

Page 10: Session 3: Mảng

Mảng đa chiều

Mảng đa chiều cùng kích thước: mỗi dòng trong mảng có cùng kích thước với nhau.

Mảng đa chiều không cùng kích thước: các dòng có thể không cùng kích thước với nhau

Page 11: Session 3: Mảng

Mảng đa chiều cùng kích thước

Định nghĩa:

Page 12: Session 3: Mảng

Mảng đa chiều cùng kích thước

Cú pháp:

<Kiểu dữ liệu> [ , ] <Tên mảng>

Ví dụ: int [ , ] a;

Khởi tạo mảng (cách 1):

a = new int[3, 4];

Page 13: Session 3: Mảng

Mảng đa chiều cùng kích thước

Bài tập 5: Viết chương trình khai báo mảng 2 chiều các số nguyên (gồm 3 dòng, 4 cột), gán các giá trị cho mỗi phần tử là dòng+cột. Sau đó xuất các kết quả kiểm tra.

Page 14: Session 3: Mảng

Mảng đa chiều cùng kích thước

Đáp án bài tập 5: xem

Phương thức GetLength(int a): trả về kích thước 1 chiều cố định trong mảng

Ví dụ:

int [ , ] a = new int[3 , 4];

for(int dong=0; dong<a.GetLength(0); dong++)

Page 15: Session 3: Mảng

Mảng đa chiều cùng kích thước

Khởi tạo mảng trực tiếp (cách 2):

int [ , ] b=

{

{52,76,65},{98,87,93},{43,77,62},{72,73,74}

};

Bài tập 6: Xuất các phần tử trong mảng b

Page 16: Session 3: Mảng

Bài tập 7:

Cho biết kết quả khi gọi hàm Tinh(3,4,22)

public static int[ , ] Tinh(int n, int m, int value)

{

int[ , ] x = new int[n,m];

for (int i=0; i < x.GetLength(0); i++)

for (int j=0; j < x.GetLength(1); j++)

x[i,j] = value;

return x;

}

Page 17: Session 3: Mảng

Mảng đa chiều không cùng kích thước

Định nghĩa:

Cú pháp:

int [][] a;

Page 18: Session 3: Mảng

Mảng đa chiều không cùng kích thước

Khai báo mảng:

int dong = 3; int[][] a = new int[dong][];

a[0] = new int[3] {1, 2, 3};

a[1] = new int[2] { 1, 2};

a[2] = new int[4] { 1, 2, 3, 4,};

for (int i = 0; i < a[0].Length; i++)

{

Console.Write("{0} ", a[0][i]);

}

Page 19: Session 3: Mảng

Bài tập 8:

Viết chương trình copy các phần tử của M1C a sang mảng b. Xuất mảng b.

Page 20: Session 3: Mảng

System.Array

Sort()

Reverse()

Page 21: Session 3: Mảng

System.Array

Bài tập 9:

Khởi tạo M1C kiểu chuỗi. Sử dụng hàm Sort() và Reverse()

Page 22: Session 3: Mảng

ArrayList

Là một kiểu dữ liệu mảng mà kích thước mảng được tăng động.

Methods:

Add(): thêm 1 đối tượng vào ArrayList

Count: đếm số phần tử hiện có trong mảng

IndexOf()

Clear();

Page 23: Session 3: Mảng

ArrayList

Bài tập 10: Viết chương trình tạo mảng dùng ArrayList và áp dụng các method của ArrayList

Page 24: Session 3: Mảng

Một số bài tâp về mảng

Bài 11: Viết một chương trình tạo một mảng một chiều các số nguyên chứa giá trị ngẫu nhiên.

Sắp xếp chúng theo thứ tự số âm thì tăng còn số dương thì giảm dần.

Hiển thị kết quả ra màn hình

Page 25: Session 3: Mảng

Một số bài tâp về mảng

Bài 12: Viết một chương trình tìm số lớn nhất và nhỏ nhất trong mảng hai chiều có kích thước cố định. Các thành phần của mảng được phát sinh ngẫu nhiên

Page 26: Session 3: Mảng

Bài 13: Viết chương trình cộng hai ma trận nxm, tức là mảng hai chiều có kích thước n dòng, m cột. Các giá trị của hai mảng phát sinh ngẫu nhiên, cho biết kết quả cộng hai ma trận?

Page 27: Session 3: Mảng

Bài 14: Viết chương trình cho phép người dùng nhập vào một ma trận nxm, sao đó tìm kiếm một giá trị nào đó theo yêu cầu người dùng, kết quả của việc tìm kiếm là giá trị và thứ tự của giá trị tìm được trong ma trận.