Khởi tạo mảng

Download Report

Transcript Khởi tạo mảng

Session 3: Mảng
Mảng 1 chiều
Khai báo mảng
Cú pháp:
<Kiểu dữ liệu>[] <Tên mảng>
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:
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
Đáp án bài tập 1
Xem baiTap_Session3_0909A
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
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.
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);
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
Mảng đa chiều cùng kích thước
Định nghĩa:
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];
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.
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++)
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
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;
}
Mảng đa chiều không cùng kích thước
Định nghĩa:
Cú pháp:
int [][] a;
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]);
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.
System.Array
Sort()
Reverse()
System.Array
Bài tập 9:
Khởi tạo M1C kiểu chuỗi. Sử dụng hàm Sort() và
Reverse()
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();
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
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
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
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?
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.