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

Các thuật toán trên mảng hai chiều pptx

16 413 5

Đ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 16
Dung lượng 258,73 KB

Nội dung

C C á á c thu c thu ậ ậ t to t to á á n trên m n trên m ả ả ng ng hai chi hai chi ề ề u u Nguy Nguy ễ ễ n Đông H n Đông H à à Khoa CNTT Khoa CNTT – – ĐH KHTN ĐH KHTN N N ộ ộ i dung i dung   Duy Duy ệ ệ t m t m ả ả ng 2 chi ng 2 chi ề ề u u   T T í í nh t nh t ổ ổ ng s ng s ố ố , t , t í í ch s ch s ố ố   Đ Đ ế ế m m   T T ì ì m ki m ki ế ế m m   T T ì ì m ph m ph ầ ầ n t n t ử ử l l ớ ớ n nh n nh ấ ấ t, nh t, nh ỏ ỏ nh nh ấ ấ t t Duy Duy ệ ệ t h t h ế ế t c t c á á c ph c ph ầ ầ n t n t ử ử c c ủ ủ a m a m ả ả ng ng 1 1 2 2 5 7 5 4 2 5 7 8 9 3 8   M M ả ả ng a[3][5]: ng a[3][5]:   so_dong = 3; so_dong = 3;   so_cot = 5; so_cot = 5; Duy Duy ệ ệ t h t h ế ế t c t c á á c ph c ph ầ ầ n t n t ử ử c c ủ ủ a m a m ả ả ng ng for(i = 0; i < so_dong; i++) for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[i][j] */ } Duy Duy ệ ệ t c t c á á c ph c ph ầ ầ n t n t ử ử trên c trên c ù ù ng dòng ho ng dòng ho ặ ặ c c c c ộ ộ t t for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[k][j] */ }  Duyệt các phần tử trên dòng có chỉ số k  Duyệt các phần tử trên cột có chỉ số k for(i = 0; i < so_dong; i++) { /* Xử lý phần tử a[i][k] */ } Đư Đư ờ ờ ng ch ng ch é é o c o c ủ ủ a ma tr a ma tr ậ ậ n vuông n vuông for(i = 0; i < n; i++) { /* Xử lý phần tử a[i][i] */ }  Đường chéo chính  Đường chéo phụ for(i = 0; i < n; i++) { /* Xử lý phần tử a[n-1-i][i] */ } T T í í nh t nh t ổ ổ ng c ng c á á c ph c ph ầ ầ n t n t ử ử trên 1 dòng trên 1 dòng int tong = 0; for(j = 0; j < so_cot; j++) { tong = tong + a[k][j] }  Tính tổng các phần tử trên dòng chỉ số k T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố ch ch ẵ ẵ n trên đư n trên đư ờ ờ ng ch ng ch é é o ch o ch í í nh nh int Cheo1Chan (int a[5][5]) { int tong = 0; for(i = 0; i < 5; i++) { if(a[i][i]%2 == 0) tong = tong + a[i][i]; } return tong; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố ch ch ẵ ẵ n trên đư n trên đư ờ ờ ng ch ng ch é é o ch o ch í í nh nh T T í í nh t nh t í í ch c ch c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ int Cheo2Phu (int a[5][5]) { int tong = 0; for(i = 0; i < 5; i++) { if(a[i][i]%2 == 1) tong = tong + a[5-1-i][i]; } return tong; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ T T í í nh t nh t í í ch c ch c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ int Cheo2Phu (int a[5][5]) { int tong = 0; int i,j; for(i = 0; i < 5; i++) { if(a[i][i]%2 == 1) tong = tong + a[5-1-i][i]; } return tong; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ [...]...Đếm các số dương trong phần tam giác phía trên đường chéo chính Sử dụng 1 biến đếm để ghi nhận số phần tử thỏa điều kiện Điều kiện của các phần tử phía trên đường chéo chính là i >j Điều kiện số dương là a[i][j] > 0 int TamGiacTrenDuong (int a[5][5]) { int dem = 0; int i,j; for(i... } Tìm kiếm Tìm xem một số x có xuất hiện trong phần tam giác phía trên đường chéo phụ của mảng hay không #define SIZE 5 int TimTrenCheo2 (int a[SIZE][SIZE], int x) { int i,j; for(i = 0; i < SIZE; i++) for(j = 0; j < SIZE; j++) { if(i+j max) max = a[i][j]; } return max; } Tìm phần tử lớn nhất trong mảng Duyệt qua tất cả các phần tử, dùng một biến max để lưu trữ giá trị lớn nhất #define SIZE 5 int LonNhat (int a[SIZE][SIZE]) { int i,j; int max = a[0][0]; for(i = 0; i < SIZE; i++) for(j = 0; j < SIZE; j++) { . t ử ử trên c trên c ù ù ng dòng ho ng dòng ho ặ ặ c c c c ộ ộ t t for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[k][j] */ }  Duyệt các phần tử trên dòng có chỉ số k  Duyệt các phần tử trên. C C á á c thu c thu ậ ậ t to t to á á n trên m n trên m ả ả ng ng hai chi hai chi ề ề u u Nguy Nguy ễ ễ n Đông H n Đông H à à Khoa CNTT Khoa CNTT – – . c ng c á á c ph c ph ầ ầ n t n t ử ử trên 1 dòng trên 1 dòng int tong = 0; for(j = 0; j < so_cot; j++) { tong = tong + a[k][j] }  Tính tổng các phần tử trên dòng chỉ số k T T í í nh t nh t ổ ổ ng

Ngày đăng: 31/07/2014, 14:22

TỪ KHÓA LIÊN QUAN

w