intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Nguyễn Hữu Thiên Sơn | Ngày: | Loại File: PDF | Số trang:16

458
lượt xem
67
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đếm 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

Chủ đề:
Lưu

Nội dung Text: Các thuật toán trên mảng hai chiều

  1. Các thuật toán trên mảng hai chiều Nguyễn Đông Hà Khoa CNTT – ĐH KHTN
  2. Nội dung Duyệt mảng 2 chiều Duy Tính tổng số, tích số Đế m Tìm kiếm Tìm phần tử lớn nhất, nhỏ nhất
  3. Duyệt hết các phần tử của mảng Duy Mảng a[3][5]: so_dong = 3; so_dong so_cot = 5; so_cot 1 1 2 2 5 7 5 4 2 5 7 8 9 3 8
  4. Duyệt hết các phần tử của mảng Duy for(i = 0; i < so_dong; i++) for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[i][j] */ .... }
  5. Duyệt các phần tử trên cùng dòng hoặc cột Duy Duyệt các phần tử trên dòng có chỉ số k for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[k][j] */ .... } 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] */ .... }
  6. Đường chéo của ma trận vuông Đư Đường chéo chính for(i = 0; i < n; i++) { /* Xử lý phần tử a[i][i] */ .... } Đường chéo phụ for(i = 0; i < n; i++) { /* Xử lý phần tử a[n-1-i][i] */ .... }
  7. Tính tổng các phần tử trên 1 dòng Tính tổng các phần tử trên dòng chỉ số k int tong = 0; for(j = 0; j < so_cot; j++) { tong = tong + a[k][j] }
  8. Tính tổng các số chẵn trên đường chéo chính Tính tổng các số chẵn trên đường chéo chí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; }
  9. Tính tích các số lẻ trên đường chéo phụ Tính tổng các số lẻ trên đường ché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; }
  10. Tính tích các số lẻ trên đường chéo phụ Tính tổng các số lẻ trên đường ché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; }
  11. Đế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 = 0; i < 5; i++) for(j = 0; j < 5; j++) { if(i 0) dem++; } return dem; }
  12. 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
  13. 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ữ Duy 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++) { if(a[i][j] > max) max = a[i][j]; } return max; }
  14. 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ữ Duy 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++) { if(a[i][j] > max) max = a[i][j]; } return max; }
  15. Bài tập Chương 5: 6,7,8,9 Ch
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0