Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
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