1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ip 08 array of array and struct in c

21 2 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

Tiêu đề Mảng Nhiều Chiều Kiểu Cấu Trúc
Tác giả GV. Nguyễn Minh Huy
Trường học Nhập Môn Lập Trình
Thể loại Bài Giảng
Định dạng
Số trang 21
Dung lượng 423,33 KB

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

Nội dung

Microsoft PowerPoint IP 08 Array of Array and Struct in C MảngMảng nhiềunhiều chiềuchiều KiểuKiểu cấucấu trúctrúc GV GV NguyễnNguyễn Minh Minh HuyHuy KiểuKiểu cấucấu trúctrúc 1Nhập môn lập trình GV Ng[.]

Trang 2

 Mảng Mảng nhiều nhiều chiều chiều

 Kiểu Kiểu cấu cấu trúc trúc

Trang 3

 Mảng Mảng nhiều nhiều chiều chiều

 Kiểu Kiểu cấu cấu trúc trúc

Trang 4

 Xét Xét chương chương trình trình sau sau::

Trang 5

 Giải Giải pháp pháp 1: 1:

 Dùng Dùng mảng mảng một một chiều chiều!! !!

 Biểu Biểu diễn diễn ma ma trận trận M x N: M x N:

 KhaiKhai báobáo mảngmảng mộtmột chiềuchiều M x N M x N phầnphần tửtử

 ĐểĐể truytruy xuấtxuất dòngdòng ii cộtcột jj

Trang 6

 Giải Giải pháp pháp 2: 2:

 Dùng Dùng mảng mảng của của mảng mảng

 Từ Từ khóa khóa typedef typedef::

 ĐặtĐặt têntên kháckhác chocho kiểukiểu dữdữ liệuliệu

 Cú phápCú pháp::

typedef typedef <<KiểuKiểu dữdữ liệuliệu> > < <Tên Tên khác khác> >;;

typedef typedef <<KiểuKiểu dữdữ liệuliệu> > < <Tên Tên khác khác> >;;

typedef

typedef intint SoNguyen SoNguyen;;

typedef typedef float float MangThuc MangThuc[ 10 ];[ 10 ];

SoNguyen

SoNguyen a, b, c;a, b, c;

MangThuc MangThuc m;m;

printf

printf(“%d %d %d”, a, b, c);(“%d %d %d”, a, b, c);

mm[ 5 ] [ 5 ] = 123;= 123;

Trang 7

 Giải Giải pháp pháp 2: 2:

 Biểu Biểu diễn diễn ma ma trận trận M x N: M x N:

 ĐặtĐặt têntên chocho mảngmảng mộtmột chiềuchiều N N phầnphần tửtử

 KhaiKhai báobáo mảngmảng mộtmột chiềuchiều M M phầnphần tửtử kiểukiểu đãđã đặtđặt têntên

 ĐểĐể truytruy xuấtxuất dòngdòng ii cộtcột jj

Trang 8

 Giải Giải pháp pháp 3: 3:

 Dùng Dùng mảng mảng nhiều nhiều chiều chiều

 Khai Khai báo báo::

<

<KiểuKiểu dữdữ liệuliệu> > < <Tên Tên mảng mảng>[ >[<<SốSố dòngdòng>>] [ ] [<<SốSố cộtcột>>]];;

<

<SốSố dòngdòng>, <>, <SốSố cộtcột> > phảiphải làlà mộtmột hằnghằng sốsố

int m1 m1[ 5 ][ 10 ] [ 5 ][ 10 ];; // Ma // Ma trận trận 5 x 10 5 x 10 số số nguyên nguyên

int m1 m1[ 5 ][ 10 ] [ 5 ][ 10 ];; // Ma // Ma trận trận 5 x 10 5 x 10 số số nguyên nguyên

int m2 m2[ M ][ N ] [ M ][ N ];; // // Sai Sai

 Truy Truy xuất xuất phần phần tử tử::

Trang 9

 Giải Giải pháp pháp 3: 3:

 Dùng Dùng mảng mảng nhiều nhiều chiều chiều

 Khởi Khởi tạo tạo::

{ 1, 1 }, { 1, 2, 3 }, { 0 }

};

//

// Tự Tự động động biết biết số số dòng dòng int

int m1[ m1[ ][ 5 ] ][ 5 ] = = {{

{ 1, 1 }, { 1, 2, 3 }, { 0 }

};

Trang 10

 Giải Giải pháp pháp 3: 3:

 Dùng Dùng mảng mảng nhiều nhiều chiều chiều

 Truyền Truyền tham tham số số mảng mảng::

 KhaiKhai báobáo thamtham sốsố mảngmảng giốnggiống biếnbiến mảngmảng

void void foofoo( ( int int a[5][10] a[5][10] ););

KhaiKhai báobáo thamtham sốsố mảngmảng cócó thểthể bỏbỏ sốsố dòngdòng

 KhaiKhai báobáo thamtham sốsố mảngmảng cócó thểthể bỏbỏ sốsố dòngdòng

void void foofoo( ( int int a[ ][10] a[ ][10] ););

 PhầnPhần tửtử mảngmảng cócó thểthể bịbị thaythay đổiđổi sausau khikhi rara khỏikhỏi hàmhàm

int int a[5][10] = { { 0 } }; a[5][10] = { { 0 } };

Trang 11

 Mảng Mảng nhiều nhiều chiều chiều

 Kiểu Kiểu cấu cấu trúc trúc

Trang 12

 Xét Xét chương chương trình trình sau sau::

 Thông Thông tin tin một một học học sinh sinh gồm gồm::

 HọHọ têntên

 NgàyNgày sinhsinh

 GiớiGiới tínhtính

 ĐiểmĐiểm vănvăn, , toántoán, , ngoạingoại ngữngữ

 ĐiểmĐiểm vănvăn, , toántoán, , ngoạingoại ngữngữ

 Viết Viết chương chương trình trình::

 NhậpNhập vàovào 1 1 họchọc sinhsinh

 XuấtXuất thôngthông tin tin họchọc sinhsinh vừavừa nhậpnhập

Trang 13

 Kiểu Kiểu cấu cấu trúc trúc trong trong C: C:

 Kiểu Kiểu dữ dữ liệu liệu phức phức hợp hợp



 Gom Gom nhóm nhóm dữ dữ liệu liệu với với nhau nhau

 Khai Khai báo báo kiểu kiểu cấu cấu trúc trúc::

struct

struct <<TênTên cấucấu trúctrúc>>

{{

struct struct HocSinhHocSinh {{

char char hoten hoten[50]; [50];

 Khai Khai báo báo biến biến cấu cấu trúc trúc::

< <Tên Tên cấu cấu trúc trúc> > <<TênTên biếnbiến>;>;

char char hoten hoten[50]; [50];

float

float diemtoan diemtoan;;

};

void main() {{

HocSinh HocSinh hs1, hs2;hs1, hs2; }}

Trang 14

 Kiểu Kiểu cấu cấu trúc trúc trong trong C: C:

 Khởi Khởi tạo tạo biến biến cấu cấu trúc trúc::

void main() {{

HocSinh

HocSinh hshs = = {{

“Nguyen Van A”,

f};

 Truy Truy xuất xuất thành thành phần phần::

<

<TênTên biếnbiến> > < <Tên Tên thành thành phần phần> >

“Nguyen Van A”,

“01/01/1997”, 1,

7, 8, 9 };

hs

hs.diemvan diemvan = 5;= 5;

hs

hs.diemToan diemToan = 9;= 9; }}

Trang 15

 Kiểu Kiểu cấu cấu trúc trúc trong trong C: C:

 Truyền Truyền tham tham số số::

 GiốngGiống cáccác kiểukiểu bìnhbình thườngthường

 TruyềnTruyền thamtham trịtrị



 GiáGiá trịtrị thànhthành phầnphần khôngkhông đổiđổi

 TruyềnTruyền thamtham chiếuchiếu

void

void cong1 cong1((HocSinh HocSinh hs hs))

{{

hs.diemvan hs.diemvan++; ++;

Trang 16

 Mảng Mảng nhiều nhiều chiều chiều::

 Giải Giải pháp pháp 1: 1: mảng mảng một một chiều chiều

 Giải Giải pháp pháp 2: 2: mảng mảng của của mảng mảng

 Giải Giải pháp pháp 3: 3: mảng mảng nhiều nhiều chiều chiều thật thật sự sự

 Kiểu Kiểu cấu cấu trúc trúc::

 Kiểu Kiểu cấu cấu trúc trúc::

 Kiểu Kiểu dữ dữ liệu liệu phức phức hợp hợp

 Gom Gom nhóm nhóm dữ dữ liệu liệu với với nhau nhau

 Khai Khai báo báo: : từ từ khóa khóa “ “struct struct” ”

 Truy Truy xuất xuất phần phần tử tử: : dấu dấu “.” “.”

Trang 17

 Bài Bài tập tập 8.1: 8.1:

Viết

Viết chươngchương trìnhtrình C C thaothao táctác ma ma trậntrận nhưnhư sausau::

NhậpNhập vàovào ma ma trậntrận vuôngvuông N x N N x N chứachứa sốsố nguyênnguyên

HãyHãy chocho biếtbiết::

a) a) TổngTổng phầnphần tửtử nằmnằm trêntrên đườngđường chéochéo chínhchính//phụphụ

b) b) DòngDòng cócó tổngtổng lớnlớn nhấtnhất, , nhỏnhỏ nhấtnhất

b) b) DòngDòng cócó tổngtổng lớnlớn nhấtnhất, , nhỏnhỏ nhấtnhất

c) Ma c) Ma trậntrận cócó làlà mộtmột ma ma phươngphương hay hay khôngkhông

Trang 18

 Bài Bài tập tập 8.2: 8.2:

Viết

Viết chươngchương trìnhtrình C C thaothao táctác ma ma trậntrận nhưnhư sausau::

NhậpNhập vàovào 2 ma 2 ma trậntrận M x N M x N vàvà N x K N x K chứachứa sốsố nguyênnguyên

HãyHãy::

a) a) TínhTính tíchtích 2 ma 2 ma trậntrận vừavừa nhậpnhập

b) b) TríchTrích rara danhdanh sáchsách cáccác sốsố xuấtxuất hiệnhiện ở ở cảcả 2 ma 2 ma trậntrận

b) b) TríchTrích rara danhdanh sáchsách cáccác sốsố xuấtxuất hiệnhiện ở ở cảcả 2 ma 2 ma trậntrận

Trang 19

 Bài Bài tập tập 8.3: 8.3:

Viết

Viết chươngchương trìnhtrình C C thaothao táctác phânphân sốsố nhưnhư sausau::

KhaiKhai báobáo kiểukiểu cấucấu trúctrúc phânphân sốsố

NhậpNhập vàovào 2 2 phânphân sốsố

TínhTính vàvà xuấtxuất kếtkết quảquả tổngtổng, , hiệuhiệu, , tíchtích, , thươngthương, , nghịchnghịch đảođảo, , rútrút gọngọncủa

của 2 2 phânphân sốsố vừavừa nhậpnhập

củacủa 2 2 phânphân sốsố vừavừa nhậpnhập

Trang 20

 Bài Bài tập tập 8.4: 8.4:

Viết

Viết chươngchương trìnhtrình C C thaothao táctác đơnđơn thứcthức nhưnhư sausau::

KhaiKhai báobáo kiểukiểu cấucấu trúctrúc đơnđơn thứcthức

NhậpNhập vàovào 2 2 đơnđơn thứcthức ((cócó dạngdạng axaxN)

TínhTính vàvà xuấtxuất kếtkết quảquả tíchtích, , thươngthương, , đạođạo hàmhàm, , nguyênnguyên hàmhàm củacủa haihaiđơn

đơn thứcthức vừavừa nhậpnhập

đơnđơn thứcthức vừavừa nhậpnhập

Trang 21

 Bài Bài tập tập 8.5: 8.5:

Viết

Viết chươngchương trìnhtrình C C thaothao táctác họchọc sinhsinh nhưnhư sausau::

KhaiKhai báobáo kiểukiểu cấucấu trúctrúc họchọc sinhsinh ((nhưnhư bàibài họchọc).)

NhậpNhập vàovào danhdanh sáchsách N N họchọc sinhsinh

XuấtXuất danhdanh sáchsách họchọc sinhsinh kèmkèm điểmđiểm trungtrung bìnhbình

XuấtXuất danhdanh sáchsách họchọc sinhsinh giỏigiỏi ((điểmđiểm trungtrung bìnhbình >= 8) >= 8) theotheo thứthứ tựtự

XuấtXuất danhdanh sáchsách họchọc sinhsinh giỏigiỏi ((điểmđiểm trungtrung bìnhbình >= 8) >= 8) theotheo thứthứ tựtựđiểm

điểm trungtrung bìnhbình giảmgiảm dầndần

Ngày đăng: 11/04/2023, 18:48

TỪ KHÓA LIÊN QUAN