1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng lập trình c nâng cao chương 2 ma trận

28 865 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

Định dạng
Số trang 28
Dung lượng 175,58 KB

Nội dung

Nội dung Khái niệm Khai báo Các thao tác cơ bản trên ma trận Thao tác trên ma trận vuông Bài tập... Khái niệm Kiểu dữ liệu ma trận được tổ chức theo dạng bảng 2 chiều.. Thực chất mỗi dòn

Trang 2

Nội dung

Khái niệm

Khai báo

Các thao tác cơ bản trên ma trận

Thao tác trên ma trận vuông

Bài tập

Trang 3

Khái niệm

Kiểu dữ liệu ma trận được tổ chức theo dạng bảng

2 chiều Thực chất mỗi dòng của ma trận là mảng 1 chiều

Kích thước được xác định bởi số dòng và số cột

Chỉ số dòng và cột được tính từ 0

Trang 4

Khái niệm

Dòng 0 Dòng 1 Dòng 2 Dòng 3

Cột 0

Cột 1

Cột 2

Cột 3

Cột 4

Cột 5

Ma trận có 4 dòng 6 cột (kích thước 4 x 6)

Trang 5

float b[25][10];

Trang 6

Định nghĩa kiễu dữ liệu

Để đơn giản trong việc khai báo ma trận:

Trang 7

Khai báo và khởi gán

<KDL> tên ma trận[số dòng][số cột]={{gt11, gt12, …},

{gt21, gt22, …}, …

{gtk1, gtk2, …}};

VD: int a[3][4] = {{2,3,9,4},

{5,6,7,6}, {2,9,4,7} };

Trang 9

Xóa dòng/ cột

Chèn thêm dòng/ cột

Trang 10

Các thao tác

Sử dụng 2 vòng lặp lồng nhau để duyệt ma trận

Mỗi lần lặp sẽ duyệt từng dòng của ma trận

Gọi sd là số dòng, sc là số cột và a là ma trận Cấu trúc duyệt tổng quát:

Trang 11

Nhập/xuất ma trận số nguyên

Khai báo

#define MAX 100

typedef int matran[MAX][MAX];

void NhapMT(matran a, int sd, int sc);

void XuatMT(matran a, int sd, int sc);

Trang 12

printf("Nhap gia tri [%d][%d]: “, d, c); scanf(“%d”, &a[d][c]);

}}

}

Trang 13

printf(“%d\t”, a[d][c]);

} printf(“\n”);

}

}

Trang 16

Phát sinh giá trị ngẫu nhiên

void PhatSinh(matran a, int sd, int sc)

{

for (int d = 0; d <= sd - 1; d++)

{

for (int c = 0; c <= sc - 1; c++) {

a[d][c] = rand() % MAX;

} }

}

1 Sử dụng thư viện <stdlib.h> và <time.h>

2 Dùng hàm srand((unsigned int) time(NULL))

ở đầu hàm main()

Trang 18

Tính tổng của 1 dòng trong ma trận a

Dòng 0 Dòng 1

Dòng 2

Dòng sd-1

Cột 0

Cột 1

Cột 2

Cột 3

Cột sc-1

Trang 20

Tính tổng của 1 cột trong ma trận a

Dòng 0 Dòng 1 Dòng 2

Dòng sd-1

Cột 0

Cột 1

Cột 2

Cột 3

Cột sc-1

Tổng cột 2 = a[0][ 2 ] + a[1][ 2 ] + a[2][ 2 ] + … + a[sd-1][ 2 ]

Tổng cột k = a[0][ k ] + a[1][ k ] + a[2][ k ] + … + a[sd-1][ k ]

Trang 23

Ma trận vuông

Ma trận có số dòng và số cột bằng nhau

Đường chéo chính: chỉ số dòng = chỉ số cột

Đường chéo phụ: chỉ số cột+chỉ số dòng = k/thước - 1

2,2 2,3 3,2 3,3

Trang 24

Xuất các phần tử thuộc đường chéo chính

Xuất các phần tử thuộc đường chéo phụ

Trang 28

Q&A

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

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w