Tips

Tips

Video

Showing posts with label Kỹ Thuật Kiểm Tra. Show all posts
Showing posts with label Kỹ Thuật Kiểm Tra. Show all posts

Saturday, July 25, 2015

Bài 2: Kiểm tra Ma Trận cuông sắp tăng dần theo đường chéo chính!





Ví dụ:
Ma trận tăng dần theo đường chéo chính như sau
11.00 16.00  20.00  23.00  25.00
47.00 12.00  147.00 21.00 24.00 
1.00  50.00   13.00  15.00  0
1.00  50.00   13.00  14.00  100
1.00  460.00 13.00  15.00   15.00 
Ý tưởng: 
Giống như cách sắp xếp trên mảng 1 chiều, ta xem đường chéo chính như là mảng một chiều sau đó kiểm tra nó có tăng dần không, nếu tăng dần trả về 1, ngược lại bằng 0

Cách làm:
Viết hai hàm: 
- Một hàm dùng để kiểm tra tăng dần (ktTangDan)
- Một hàm xuất kết quả

Ghi Chú:
- Các hàm nhập, xuất tự viết!


Chương trình




/* ------------------------------------------
 * Author: zidane (huuvi168@gmail.com)
 * Last modified: 2015-07-03
 * -----------------------------------------/

// n số phần tử của mảng a
int ktTangDan(float a[], int n) 
{
    bool flag = true;
    for (int i=0; i<=n-1; i++)
       for (int j=i+1; j<=n; i++)
         // chỉ cần một phần tử thỏa là không tăng dần
         if (a[i] > a[j]) 
            // giá trị trả về trong hàm function (pascal)
            flag = false; 
     return flag;
}

// n, m là dòng và cột trong ma trận (ma trận vuông)
void ktTangDanDuongCheoChinh(float a[][100], int n)
{
   float b[100];
   for (int i=0; i<n; i++)
   b[i] = a[i][i];

   if (ktTangDan(b, n) == true)
      printf("Duong cheo chinh tang dan");
   else
      printf("Duong cheo chinh KHONG tang dan");
}