C语言之基本算法32—鞍点
//数组
/*
==================================================================
题目:求随意矩阵的全部鞍点。并统计个数。(在矩阵中,一个数在所在行中是最大值,
在所在列中是最小值。则被称为鞍点。)
如:
1 2 3
4 5 6
7 8 9
当中,a[1][3]=3是该矩阵唯一的鞍点。
==================================================================
*/
#include<stdio.h>
#define N 300
void main()
{
int i,j,k,s=0;
int c,r,m,n;
int a[N][N];
printf("输入方阵大小:\n行=");
scanf("%d",&m);
printf("列=");
scanf("%d",&n);
printf("输入%d*%d矩阵:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n===================\n矩阵形状:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
printf("\n===================\n鞍点:\n");
for(i=0;i<m;i++)
{
c=0;
for(j=0;j<n;j++)
if(a[i][j]>a[i][c]) c=j;
r=0;
for(k=0;k<m;k++)
if(a[k][c]<a[r][c]) r=k;
if(r==i)
{
s++;
printf("a[%d][%d]=%2d ",r+1,c+1,a[r][c]);
}
}
printf("\n共%d个鞍点\n",s);
}
/*
====================================================================
评:
关键点:查找每行中最大的元素。用for循环控制行,相当于求一行中最大的数。仅仅是如今
通过循环求全部行各自的最大元素!
并将此数的列数记在c中,此时c是动态的,在列已知
(已经是c)的情况下,求得该列中最小的元素,将行记在r中。假设正好这个行数与该列最
小元素所相应的行数相等,那么这就是一个鞍点,然后反复,直到完毕枚举全部的可能点。
=====================================================================
*/
C语言之基本算法32—鞍点的更多相关文章
- 10个经典的C语言面试基础算法及代码
10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一 ...
- 数据结构C语言版 弗洛伊德算法实现
/* 数据结构C语言版 弗洛伊德算法 P191 编译环境:Dev-C++ 4.9.9.2 */ #include <stdio.h>#include <limits.h> # ...
- 0.数据结构(python语言) 基本概念 算法的代价及度量!!!
先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题 ...
- C语言变量长度在32位和64位处理器上的关系
C语言变量长度在32位和64位处理器上的关系 理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算).常用数据类型对应字节数 ...
- C语言版数据结构算法
C语言版数据结构算法 C语言数据结构具体算法 https://pan.baidu.com/s/19oLoEVqV1I4UxW7D7SlwnQ C语言数据结构演示软件 https://pan.baidu ...
- C语言算法---求鞍点
题目:有一个3X4矩阵,要求输出其鞍点(行列均最大的值),以及它的行号和列号. int a[3][4] = {{123,94,-10,218}, {3 ...
- 用scheme语言实现SPFA算法(单源最短路)
最近自己陷入了很长时间的学习和思考之中,突然发现好久没有更新博文了,于是便想更新一篇. 这篇文章是我之前程序设计语言课作业中一段代码,用scheme语言实现单源最段路算法.当时的我,花了一整天时间,学 ...
- C语言之广度优先算法
广度优先算法又称宽度优先搜索,是一种简便的图的搜索算法之一.搜索方式大致是这样的: 直到搜索到目标结点(结点就是那些圆球球,其中有一个或者多个是目标结点)或者搜完了整个图都没找到目标结点就停止搜索. ...
- C语言qsort函数算法性能测试
对于该算法的复杂性.一个直接的方法是测量的一定量的算法级数据的执行时间的感知. 随着C语言提供qsort对于示例.随着100一万次的数据,以测试其计算量.感知O(nlg(n))时间成本: C码如下面: ...
随机推荐
- [AHOI2014&&JSOI2014][bzoj3876] 支线剧情 [上下界费用流]
题面 传送门 思路 转化模型:给一张有向无环图,每次你可以选择一条路径走,花费的时间为路径上边权的总和,问要使所有边都被走至少一遍(可以重复),至少需要花费多久 走至少一遍,等价于覆盖这条边 也就是说 ...
- bzoj 2387: [Ceoi2011]Traffic
bzoj 2387: [Ceoi2011]Traffic 题目描述 The center of Gdynia is located on an island in the middle of the ...
- swarm 发布服务
1.发布服务 2.发布服务 服务发现:Swarm模式内置DNS组件,自动为每个服务分配DNS记录,然后服务的DNS名称在集群内的服务直接分发请求.负载均衡:在Swarm集群中创建服务时,Ingress ...
- 关于设置组件的state时遇到的一些问题
在使用react-bootstrap的时候设置showModel的值来控制Model的显示与隐藏,但是setState这个函数是异步的. 当你进行数据更新的时候,接着执行函数获取这个模态框的dom是获 ...
- 【转】手摸手,带你用vue撸后台 系列一
前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录 ...
- 适配IPhone X的技巧
#define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // ...
- ConcurrentHashMap 1.8为什么要使用CAS+Synchronized取代Segment+ReentrantLock
大家应该都知道ConcurrentHashMap在1.8的时候有了很大的改动,当然,我这里要说的改动不是指链表长度大于8就转为红黑树这种常识,我要说的是ConcurrentHashMap在1.8为什么 ...
- 常见的 Git 命令:
开始一个工作区(参见:git help tutorial) clone 克隆一个仓库到一个新目录 init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库 在当前变更上工作(参见:git he ...
- sublime 中设置pylint
http://www.360doc.com/content/14/1110/11/15077656_424004081.shtml 安装 pylinter 插件 详见 sublime 插件安装 配 ...
- 搭建https本地服务器:如何得到被所有客户端认可的ssl证书
https,作为http的加密版,作用还是很大的:能够提升网站搜索权重,让你的网站更安全,而且如果你的网站没有使用https的话,将无法作为移动设备原生应用的api接口.可见掌握为网站启用https的 ...