package suanfa;

import java.util.Scanner;

/**
 * 求矩阵的鞍点,所谓鞍点就是行上最小而列上最大的点
 *
 * @author dell
 *
 */
public class AnDian {
 /**
  * 循环输入方阵的值
  * @param n方阵的每一行的长度
  * @return一个方阵
  */
 public static double[][] input(int n) {
  double arc[][] = new double[n][n];
  System.out.println("请输入n*n矩阵的各个值");
  for (int i = 0; i < n; i++) {
   for (int j = 0; j < n; j++) {
    Scanner s = new Scanner(System.in);
    System.out.print("d");
    double arcValue = s.nextDouble();
    arc[i][j] = arcValue;
   }
  }

return arc;
 }

/**
  * 输出方阵的值
  * @param arc
  */
 public static void print(double arc[][]) {
  for (int i = 0; i < arc.length; i++) {
   for (int j = 0; j < arc.length; j++) {
    System.out.print(arc[i][j] + " ");
   }
   System.out.println();
  }
 }

public static void main(String args[]) {
  double arc[][] = input(3);

print(arc);

getAn(arc);
 }

/**
  * 寻找并打印出鞍点
  * @param arc
  */
 public static void getAn(double arc[][]) {

double min;
  for (int i = 0; i < arc.length; i++) {
   min = arc[i][0];// 令第i行的最小值是该行的第一个元素
   int minIndex = 0;// 记录第i行的最小元素的位置
   // 找到第i行的最小元素,并记录其所在的列
   for (int j = 1; j < arc.length; j++) {

if (min > arc[i][j]) {
     min = arc[i][j];
     minIndex = j;

}
   }

// 遍历第i行最小值的那一列
   for (int k = 0; k < arc.length; k++) {
    if (min < arc[k][minIndex]) {
     // 如果不是该列的最大值,说明没有鞍点
     System.out.println("第" + i+"行" + "第" + minIndex+ "列" + "没有鞍点");
     break;
    } else if (k ==arc.length- 1) {//说明min是鞍点打印即可
     System.out.println("鞍点为 " +min + "位置是" +"第" + i+"行" + "第" + minIndex+ "列");
    }

}

}

}
}

求方阵的鞍点(即在行最小列最大的那个点)相关推荐

  1. 求一个给定的n阶方阵的鞍点

    一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小.本题要求编写程序,求一个给定的n阶方阵的鞍点. 输入格式: 输入第一行给出一个正整数n(1≤n≤6).随后n行 ...

  2. 【c语言作业-二维数组】编写程序,求一个给定的n阶方阵的鞍点。

    [问题描述] 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. [输入形式] 输入第一行给出一个正整数n(1≤ ...

  3. C语言试题二十三之编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中

    1. 题目 请编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中.二 ...

  4. 2014百度面试题目---“求比指定整数大且最小的不重复数”解答

    题目:给定任意一个正整数,求比这个数大且最小的"不重复数","不重复数"的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数. 代码: #incl ...

  5. word中插入图表改变数据系列产生在行或列

    一.插入图表 选择[插入]→[图表],选择图表类型,这里选择簇状柱形图. 二.编辑数据 在图表上点击右键,选择[编辑数据]→[在Excel中编辑数据] 三.修改数据产生的系列 1.点击图表旁边的&qu ...

  6. 小题目——给出n阶方阵里所有的数,求方阵里所有数的和

    给出n阶方阵里所有的数,求方阵里所有数的和 import java.util.Scanner; //给出n阶方阵里所有的数,求方阵里所有数的和 public class Main {public st ...

  7. 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:

    本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...

  8. 【python】 求数组最小值,最大值,最小偶数,最大奇数

    [python] 求数组最小值,最大值,最小偶数,最大奇数 lst = [3, 6, 1, 8, 1, 9 , 8,10,21] min=lst[0] max=lst[0] mi=lst[0] ma= ...

  9. C语言实现素数和回文数字判断(并求大于某个自然数n的最小的既是素数又是回文的数)

    目录 判断素数函数 回文数字判断函数 求大于某个自然数n的最小的既是素数又是回文的数 1.判断素数函数 一.思路 素数,又称质数,是指在大于1的自然数中,除了1和它本身以外不能被其它数整除的数.最小的 ...

  10. Python 求列表的最长升序子列

    这块用到了 bisect 的二分查找模块,用于查找新元素在有序列表里边的插入位置.虽然之前有接触过 git 里边的 git bisect(用于定位某个 bug 第一次引入的 commitId),但是 ...

最新文章

  1. 【c语言】蓝桥杯算法训练 乘法表
  2. C 语言的诞生,竟然是一个失败的项目?
  3. 使用BCH提供的客户端将消息绑定到任何位置
  4. ICG游戏:尼姆游戏异或解法的证明
  5. 卡尔曼滤波的基本原理
  6. 百度景鲲:9月15日发布小度真无线智能耳机
  7. mysql存储过程迭代自己获取所有子孙
  8. 基于nvidia的ffmpeg编解码加速
  9. 有了BBdoc文档搜索,就不要使用DocFetcher 全文搜索了
  10. oracle10G/oracle11G连接oracle12c,ORA-28040的解决
  11. oracle rat结果分析比较,Oracle RAT- Real Application Testing
  12. 瑞士央行2022年巨亏1320亿瑞士法郎
  13. 什么是TypeScript?本文介绍TypeScript基本用法和语法。
  14. 我所知道的金融数据库
  15. 安卓手机Recovery概述和原理分析
  16. minecraft1.16java_我的世界:1.16最神奇的种子,自然生成的石头雕像,基岩能用!...
  17. OpenJWeb2.61 Java Web应用快速开发平台全部开源公告
  18. <架构师必修课>-nginx
  19. FT232R驱动问题-解决已安装驱动,却不能正常使用的问题
  20. 数据库导入excel文件失败

热门文章

  1. 在计算机操作系统中操作系统是处于应用软件,计算机操作系统应用试题与答案.pdf...
  2. Mysql 数据库中Where 关键字的使用
  3. 眼底图像血管增强与分割--(2)Gabor滤波算法原理及实现
  4. 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
  5. shell 变量自增(转)
  6. 算法和数据结构---排序---插入排序
  7. joomla2.5 常用组件
  8. 批量删除.svn文件的方法
  9. [导入]刚拿积蓄救人 自己又患癌症(我身边的一个真实故事)
  10. cvCloneImage()内存泄漏解决方法, cvCloneImage()和cvCopy()的区别