C语言二维数组中的查找的实例
C语言二维数组中的查找的实例
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
思路描述:一个数字的下方和右方是比它本身大的区域,而左方和上方时比它本身小的区域。选取右上角的数字进行比较,当该数大于指定的数时,舍去该列,当该数小于指定的数时,舍去该行,当相等时,则表示找到
C语言实现:
#include#include typedefunsignedintboolean; #defineMAX4 #defineTRUE1 #defineFALSE-1 voidshowAry(intary[MAX][MAX]); booleanfind(intary[MAX][MAX],introws,intcols,intnumber); voidshowAry(intary[MAX][MAX]){ inti=0,j=0; for(;i =0){ n=ary[i][j]; if(number==n){ printf("\nary[%d,%d]=%d\n",i,j,n); result=TRUE; break; }elseif(number n){ i+=1; } } returnresult; } //128924912471013681115 intmain(){ intary[MAX][MAX]; inti=0,j=0; for(;i 以上就是讲解C语言二维数组中的查找的实例,希望能帮助需要同类型问题的朋友,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!