题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
int find(int arr[3][3], int rows, int cols, int data)
{
int i = 0;
int j = cols - 1;
while ((rows>i)&&(j>0))
{
if (arr[i][j] > data)
{
j--;
}
else if (arr[i][j] < data)
{
i++;
}
else
{
return 1;
}
}
return 0;
}
int main()
{
int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int data = 0;
printf("please input a number: ");
scanf("%d",&data);
int be_exist = find(arr,3,3,data);
if (be_exist)
{
printf("%d is exist\n",data);
}
else
{
printf("%d is not exist\n",data);
}
system("pause");
return 0;
}