全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C语言二维数组中的查找的实例

C语言二维数组中的查找的实例

题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数

思路描述:一个数字的下方和右方是比它本身大的区域,而左方和上方时比它本身小的区域。选取右上角的数字进行比较,当该数大于指定的数时,舍去该列,当该数小于指定的数时,舍去该行,当相等时,则表示找到

C语言实现:

#include<stdio.h>
#include<stdlib.h>

typedef unsigned int boolean;
#define MAX 4
#define TRUE 1
#define FALSE -1

void showAry(int ary[MAX][MAX]);
boolean find(int ary[MAX][MAX], int rows, int cols, int number);

void showAry(int ary[MAX][MAX]) {
  int i = 0, j = 0;
  for(; i < MAX; i++) {
    j = 0;
    for(; j < MAX; j++) {
      printf("%d ", ary[i][j]);
    }
  }
}

boolean find(int ary[MAX][MAX], int rows, int cols, int number) {
  int i = 0, 
    j = cols - 1,
    n = 0;
  boolean result = FALSE;

  if(ary == NULL || rows <= 0 || cols <= 0) {
    return result;
  }

  while(i < rows && j >= 0) {
    n = ary[i][j];
    if(number == n) {
      printf("\nary[%d, %d] = %d\n", i, j, n);
      result = TRUE;
      break; 
    }else if(number < n) {
      j -= 1; 
    }else if(number > n) {
      i += 1;
    }
  }
  return result;
}

//1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15
int main() {
  int ary[MAX][MAX];
  int i = 0, j = 0;

  for(; i < MAX; i++) {
    j = 0;
    for(; j < MAX; j++) {
      scanf("%d", &ary[i][j]);
    }
  }
  showAry(ary);
  find(ary, MAX, MAX, 7);
}

以上就是讲解C语言二维数组中的查找的实例,希望能帮助需要同类型问题的朋友,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C语言二维数组中的查找的实例  # 二维数组查找  # 关于C语言一维数组算法问题详解  # C语言一维数组初步学习笔记  # 关于C语言中的指针与二维数组  # C语言二维数组指针的概念及使用  # C语言与java语言中关于二维数组的区别  # 从头学习C语言之二维数组  # C语言面试C++二维数组中的查找示例  # C语言二维数组几种常用的表示方法  # C语言 指针与二维数组详解  # 直观理解C语言中指向一位数组与二维数组的指针  # C语言中的一维数组与二维数组的实现  # 组中  # 希望能  # 它本身  # 舍去  # 谢谢大家  # 从上到下  # 一个函数  # typedef  # unsigned  # gt  # stdlib  # MAX  # define  # int  # boolean  # stdio  # pre  # class  # strong  # 左到右 


相关文章: 网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  Python路径拼接规范_跨平台处理说明【指导】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  建站主机与虚拟主机有何区别?如何选择最优方案?  韩国服务器如何优化跨境访问实现高效连接?  IOS倒计时设置UIButton标题title的抖动问题  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  魔方云NAT建站如何实现端口转发?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  长沙企业网站制作哪家好,长沙水业集团官方网站?  建站之星展会模板:智能建站与自助搭建高效解决方案  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何用PHP快速搭建CMS系统?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  如何在云主机快速搭建网站站点?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  建站VPS配置与SEO优化指南:关键词排名提升策略  建站主机助手选型指南:2025年热门推荐与高效部署技巧  江苏网站制作公司有哪些,江苏书法考级官方网站?  如何选择高效可靠的多用户建站源码资源?  C++时间戳转换成日期时间的步骤和示例代码  定制建站流程解析:需求评估与SEO优化功能开发指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何通过cPanel快速搭建网站?  自助网站制作软件,个人如何自助建网站?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何在橙子建站中快速调整背景颜色?  如何用低价快速搭建高质量网站?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何选择可靠的免备案建站服务器?  无锡营销型网站制作公司,无锡网选车牌流程?  如何打造高效商业网站?建站目的决定转化率  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何制作网站标识牌,动态网站如何制作(教程)?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何在IIS中新建站点并解决端口绑定冲突?  宝塔新建站点为何无法访问?如何排查?  制作网站外包平台,自动化接单网站有哪些?  Python lxml的etree和ElementTree有什么区别  安徽网站建设与外贸建站服务专业定制方案  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何用西部建站助手快速创建专业网站?  如何通过虚拟机搭建网站?详细步骤解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。