楊氏矩陣中的查詢問題
阿新 • • 發佈:2019-01-25
9oj編號1384。
1,太不細心了:行列不分!!與或不分!!
2,邊界值要想清楚。
3,申請完記憶體要釋放。
4,scanf來替代cin
5,整型陣列的scanf也得有&
#include<iostream> #include<cstdio> using namespace std; int main() { int row_num, col_num, value; int index_row, index_col; int flag; while(scanf("%d %d",&row_num,&col_num) != EOF) { if(row_num<1 || col_num <1 || col_num >1000 || row_num >1000) return 0; scanf("%d",&value); if(value<1 || value>1000000) return 0; flag = 0; int *m = new int[row_num*col_num]; for(int i=0;i<row_num;i++) for(int j=0;j<col_num;j++) //cin>>m[i*col_num+j]; scanf("%d",&m[i*col_num+j]); index_row = 0; index_col = col_num-1; while((index_row<row_num) && (index_col>=0)) { if(m[index_row*col_num+index_col] == value) { flag = 1; break; } else if(value > m[index_row*col_num+index_col] ) index_row++; else index_col--; } if(flag) printf("Yes\n"); else printf("No\n"); delete[] m; m = NULL; } return 1; }