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

TRẦN MINH THÁI Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn Cập nhật: 05 tháng 01 năm 2015 Chương 2. Ma trận #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 #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 #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) #5 Khai báo ma trận Cú pháp <KDL> tên ma trận [số dòng][số cột]; VD1: khai báo ma trận số nguyên a có 10 dòng và 15 cột int a[10][15]; VD2: khai báo ma trận số thực b có 25 dòng và 10 cột float b[25][10]; #6 Định nghĩa kiễu dữ liệu Để đơn giản trong việc khai báo ma trận: #define MAX 100 typedef <KDL> matran[MAX][MAX]; VD: Khai báo ma trận các số nguyên a #define MAX 100 typedef int matran[MAX][MAX]; matran a; #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} }; #8 Truy xuất phần tử Để truy xuất các thành phần của ma trận ta dựa vào chỉ số dòng và chỉ số cột. Cú pháp: tên ma trận[chỉ số dòng][chỉ số cột] VD: x = a[1][2]; // x = 7 // Cập nhật giá trị tại chỉ số dòng 2, cột 3 thành 10 a[2][3] = 10; #9 Các thao tác Nhập/ xuất Tìm kiếm Đếm Tính tổng/ trung bình Sắp xếp dòng/ cột Xóa dòng/ cột Chèn thêm dòng/ cột #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: for(int d=0; d<=sd-1; d++) { for(int c=0; c<=sc-1; c++) { Xử lý phần tử a[d][c] } } Duyệt dòng d của ma trận a [...]... 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 0,0 0,5 1,1 1,4 2, 2 3 ,2 4,1 5,0 2, 3 3,3 4,4 5,5 Bài tập nhập/xuất #24 Cho ma trận vuông số nguyên kích thư c n, viết c c hàm: Nhập ma trận Xuất ma trận 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ụ Bài tập nhập/xuất #25 Cho ma trận vuông... nguyên kích thư c n, viết c c hàm: Xuất c c phần tử thu c phần tam gi c phía dưới c a đường chéo chính Bài tập nhập/xuất #26 Cho ma trận vuông số nguyên kích thư c n, viết c c hàm: Xuất c c phần tử thu c phần tam gi c phía trên đường chéo phụ Bài tập #27 Cho ma trận vuông số nguyên kích thư c n, viết c c hàm: Tính tổng c c phần tử không thu c đường chéo chính Tính giá trị trung bình c c phần tử thu c đường... 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] Tính tổng c a 1 c t trong ma trận a #21 Gọi s là tổng c t k s = a[0][k] + a[1][k] + a [2] [k] + … + a[sd-1][k] int s = 0; for(int i=0; i . vuông Bài tập #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 #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) #5 Khai báo ma trận C pháp <KDL> tên ma trận. a[k][i]; } #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] 

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