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

Bài giảng Lập trình C# 1 - Chương 4: Array

9 9 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 255,94 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình C# 1 - Chương 4: Array giới thiệu tới các bạn những nội dung về mảng, câu lệnh lặp foreach, mảng đa chiều và một số câu hỏi. Đây là tài liệu hữu ích với các bạn chuyên ngành Công nghệ thông tin và những ngành có liên quan.

Trang 1

Ch ng 4

Array

i dung

1 M ng

2 Câu l nh l p foreach

3 M ng a chi u

4 Câu h i

1 M ng

• Khai báo m ng

• Giá tr m c nh

• Truy c p các thành ph n trong m ng

• Kh i t o thành ph n trong m ng

• d ng t khóa params

• Ph ng th c và thu c tính c b n

ng là gì?

• ng là m t t p h p có th t c a nh ng i t ng

• t c các i t ng này cùng m t ki u

• Ngôn ng C# cung c p cú pháp chu n cho vi c khai báo nh ng i t ng ng

Tuy nhiên, cái th t s c t o ra là i t ng a

ki u System.Array

Trang 2

Mô d ng m t m ng

• Khai báo

• o th hi n (xác nh s ph n t )

• Gán giá tr (giá tr m c nh; Giá tr c th )

1 Khai báo

2 T o th hi n + Gán giá tr m c nh

3 Gán giá tr c th

Khai báo + Gán giá

tr c th

Khai báo + T o

th hi n + Gán giá

tr c th

d ng m t m ng

int[] myIntArray;

myIntArray = new int[6];

// Ch ng trình

1 Khai báo

2 T o th hi n + Gán giá tr m c nh

3 Gán giá tr c th

d ng m t m ng

Khai báo + Gán giá

tr c th

Trang 3

d ng m t m ng

int[] myIntArray = new int[5] { 2, 4, 6, 8, 10};

Khai báo + T o

th hi n + Gán giá

tr c th

Truy p các ph n

namespace mang_1 {

class Program {

static void Main(string[] args) {

int[] mangso1;

mangso1 = new int[5] {2, 5, 7, 9, 1};

for (int i = 1; i < 6; i++) {

System.Console.WriteLine(mangso1[i]);

} System.Console.ReadLine();

}

Tìm ki m ph n t

namespace mang_timpt {

class Program { static void Main(string[] args) {

int gt, vitri, sotim;

sotim = 5;

vitri = 0;

int[] mang = new int[5] { 3, 5, 6, 5, 8};

bool kq = false;

for (int i = 0; i < 5; i++) {

gt = mang[i];

if (gt==sotim) { kq = true;

vitri = i; } }

if ( kq==true ) { System.Console.WriteLine("Co phan tu " + sotim + " trong mang");

System.Console.WriteLine("Vi tri "+ sotim+ " trong mang la "+vitri); } else

{ System.Console.WriteLine("Khong co phan tu " + sotim + " trong mang"); } System.Console.ReadLine();

Trang 4

Ví d

o m ng ch a m c a sinh viên v i các yêu c u:

• ph n t do ng i nh p quy t nh

• m ng v i m i ph n t do ng i nh p

• p x p m ng theo m t nh n l n

• Xu t ra k t qu

1 4 5 7 8 9 8

1 4 5 7 8 9 8

1 T o m t ph ng th c :

mà không c n thi t ph i t o m t m ng

2 T i Main() :

Ví d

namespace mang_params {

class Program {

public void DisplayVals(params int[] intVals) {

foreach (int i in intVals) {

Console.WriteLine("Hi n th {0}", i);

} Console.ReadLine();

}

static void Main(string[] args) {

Program m = new Program();

m.DisplayVals(6, 7, 8, 9);

} }

int[] mang2=new int[5]{3, 4, 6, 2, 8};

m.DisplayVals(mang2);

Trang 5

Ph ng th c và thu c tính

Array.Clear(mang, n, m);

Array.Copy(mang, mang1, n);

Array.IndexOf(mang, "12");

Array.LastIndexOf(mang,

"12");

Array.Sort(mang);

Array.Reverse(mang);

mang Length;

mang Rank;

• <tên m ng>.<Sum()/Max()/Min()/Average()>;

• <tên m ng>.Clear();

• <tên m ng>.Count();

• <tên m ng>.First();

• <tên m ng>.Last();

namespace mangnc {

public class Tester {

public static void PrintArray(object[] mArray) {

foreach( object obj in mArray) {

Console.WriteLine("Hien thi "+ obj);

} Console.WriteLine('\n');

} static void Main() {

string[] m1Array = {"Ban", "la", "Nam", "Nu"};

PrintArray( m1Array );

Array.Reverse( m1Array );

PrintArray( m1Array );

string[] m2Array = {"Chung", "toi", "la", "nhung", "nguoi", "lap", "trinh", "may", "tinh"};

PrintArray( m2Array );

Array.Sort( m2Array );

PrintArray( m2Array );

Console.ReadLine();

Trang 6

2 Câu l nh l p foreach

• Câu l nh l p foreach cho phép chúng ta l p qua t t c các m c trong m t m ng hay trong m t t p h p

foreach (<ki ud li uthànhph n> <têntruyc p> in <m ng/t ph p>)

{ // th c hi n thông qua <tên truy c p> t ng ng v i // t ng m c trong m ng hay t p h p

}

int[] mang = new int[3] {3, 5, 7};

foreach (intiin mang) {

System.Console.WriteLine("Xuat phan tu mang {0}", i.ToString(),'\t');

}

i.ToString() : Chuy n s qua chu i

‘\t’ : tab ngang

3 M ng a chi u

• ng m t chi u trong ó các thành ph n c a nó ch

n gi n là các i t ng ki u giá tr hay i t ng tham chi u

• ng hai chi u c t ch c thành các dòngt

• ng a chi u:

– Là m ng có t ch c r t ph c t p

C# h tr hai ki u

• ng a chi u cùng kích th c:

i nhau

• ng a chi u không cùng kích th c:

Trang 7

ng a chi u cùng kích th c

• Còn g i là m ng hình ch nh t:

• Khai báo :

<ki u d li u>[,] <tên m ng>;

o m ng

const int rows= 4;

const int columns = 3;

int [,] mangso1 = new int[rows, columns];

int[] mangso2 = new int[rows];

int[] mangso3 = new int[columns];

kh i t o các thành ph n trong m ng

for(int i = 0; i < rows; i++) {

for(int j = 0; j < columns; j++) {

mangso[i,j] = i+j;

} }

xu t n i dung ra màn hình

for(int i = 0; i < rows; i++) {

for(int j = 0; j < columns; j++) {

Console.WriteLine(“mangso[{0},{1}] = {2}”,i, j, mangso[i, j]);

} }

Trang 8

ng a chi u có kích khác nhau

• Hình d ng không ph i hình ch nh t vì các chi u c a chúng không u nhau

• Khai báo :

– Sau ó chúng ta kh i t o giá tr các thành ph n trong nh ng

ng bên trong

Khai báo

const int rows = 4; // khai báo m ng t i a b n dòng int[][] mArray = new int[rows][];

mArray[0] = new int[5]; // dòng u tiên có 5 ph n t mArray[1] = new int[2]; // dòng th hai có 2 ph n t mArray[2] = new int[3]; // dòng th ba có 3 ph n t mArray[3] = new int[5]; // dòng cu i cùng có 5 ph n t

Kh i t o m t vài giá tr

mArray[0][3] = 15;

mArray[1][1] = 12;

mArray[2][1] = 9;

mArray[2][2] = 99;

mArray[3][0] = 10;

mArray[3][1] = 11;

mArray[3][2] = 12;

mArray[3][3] = 13;

mArray[3][4] = 14;

Xu t k t qu

for(int i = 0; i < 5; i++) {

Console.WriteLine(“mArray[0][{0}] = {1}”, i, m[0][i]);

} for(int i = 0; i < 2; i++) {

Console.WriteLine(“mArray[1][{0}] = {1}”, i, mArray[1][i]);

}

Trang 9

4 Câu h i

• u phân bi t gi a m ng và các thành ph n bên trong m t m ng?

• khoá params c s d ng làm gì?

• Ý ngh a c a l nh l p foreach? L nh này c s d ng

i ki u d li u nào?

• Hãy cho bi t s khác nhau gi a hai cách g i Arr[i][j]

và Arr[i, j]?

• Làm th nào bi t kích th c c a m t m ng?

Ngày đăng: 08/05/2021, 11:48