ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจำนวนแถวที่จัดเรียงทั้งหมดในเมทริกซ์
สำหรับสิ่งนี้เราจะได้รับเมทริกซ์ m*n งานของเราคือนับแถวทั้งหมดในเมทริกซ์ที่กำหนดซึ่งเรียงลำดับจากน้อยไปมากหรือมากไปหาน้อย
ตัวอย่าง
#include <bits/stdc++.h> #define MAX 100 using namespace std; //counting sorted rows int count_srows(int mat[][MAX], int r, int c){ int result = 0; for (int i=0; i<r; i++){ int j; for (j=0; j<c-1; j++) if (mat[i][j+1] <= mat[i][j]) break; if (j == c-1) result++; } for (int i=0; i<r; i++){ int j; for (j=c-1; j>0; j--) if (mat[i][j-1] <= mat[i][j]) break; if (c > 1 && j == 0) result++; } return result; } int main(){ int m = 4, n = 5; int mat[][MAX] = {{1, 2, 3, 4, 5}, { 4, 3, 1, 2, 6}, {8, 7, 6, 5, 4}, {5, 7, 8, 9, 10}}; cout << count_srows(mat, m, n); return 0; }
ผลลัพธ์
3