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

Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - Trần Minh Thái

14 27 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 14
Dung lượng 467,95 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 Kỹ thuật lập trình nâng cao - Chương 3: Ma trận cung cấp cho người học các kiến thức: Định nghĩa kiểu dữ liệu, truy suất, ma trận vuông, nhập xuất ma trận số nguyên. Cuối bài giảng có phần bài tập để người học ôn tập và củng cố kiến thức.

Trang 1

TRẦN MINH THÁI

1

Trang 2

Cách 1: Con trỏ hằng

< KDL> < Tên mảng >[< Số dòng tối đa>][<Số cột tối đa>];

*Ví dụ:

int A[10][10]; //Khai báo ma trận kiểu int gồm 10 dòng, 10 cột float b[10][10];//Khai báo ma trận kiểu float gồm 10 dòng 10 cột

Cách 2 : Con trỏ

< Kiểu dữ liệu > **<Tên mảng>;

*Ví dụ :

int **A ; // Khai báo ma trận kiểu int

Trang 3

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

#define MAX 100

typedef <kiểu dữ liệu> matran[MAX][MAX];

Ví dụ: Khai báo ma trận các số nguyên a

#define MAX 100

typedef int matran[MAX][MAX];

matran a;

Trang 4

Để truy xuất các thành phần của mảng hai chiều ta phải 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]

*Ví dụ: int A[3][4] = { {2,3,9,4} , {5,6,7,6} , {2,9,4,7} };

Với các khai báo như trên ta có:

A[0][0] = 2; A[0][1] = 3;

A[1][1] = 6; A[1][3] = 6;

Trang 5

*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ích thước - 1

5

Trang 6

*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

Trang 7

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 8

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

{

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

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

cout<<"Nhap gt ["<<i<<"]["<<j<<"]: "; cin>>a[i][j];

}

Trang 9

*

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

for(int i=0; i<sd; i++)

{

for(int j=0; j<sc; j++)

{

cout<<a[i][j]<<"\t";

}

cout<<endl;

}

}

Trang 10

void main()

{

matran a;

int sd, sc;

cout<<"Nhap so dong cua ma tran: "; cin>>sd;

cout<<"Nhap so cot cua ma tran: "; cin>>sc;

NhapMT(a, sd, sc);

XuatMT(a, sd, sc);

Trang 11

*

Cho ma trận số nguyên a, viết các hàm:

*Xuất các phần tử lẻ

*Xuất các phần tử là số nguyên tố

*Xuất các phần tử có giá trị lớn hơn x

Trang 12

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ụ

*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

*Xuất các phần tử thuộc phần tam giác phía trên

Trang 13

*

Cho ma trận số nguyên, viết các hàm:

*Tìm phần tử lớn nhất

*Tìm vị trí phần tử lớn nhất

*Tìm vị trí xuất hiện đầu tiên của phần tử có giá trị x

*Tìm dòng có tổng lớn nhất

*Tìm cột có giá trị nhỏ nhất

Trang 14

Cho ma trận số nguyên, viết các hàm:

*Xóa dòng có chứa giá trị lớn nhất

*Xóa cột có chứa giá trị x

Ngày đăng: 02/11/2020, 11:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN