求二维数组的鞍点

来源:互联网 发布:手机淘宝网 编辑:程序博客网 时间:2024/05/16 19:23

鞍点是指数组中本行最大,本列最小的数值。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace shuzuandian{    class Program    {        static void Main(string[] args)        {            const int m = 5;            const int n = 4;            int[,] a = new int[5, 4];            int i, j, k, p, flag, adgs=0;            Random random = new Random();            adgs = 0;            for (i = 0; i < m; i++)            {                for (j = 0; j < n; j++)                {                    a[i, j] = random.Next(1, 100);//随机生成数组                }            }            for (i = 0; i < m; i++)            {                Console.WriteLine();                for (j = 0; j < n; j++)                {                    Console.Write("{0} ", a[i, j]);                }            }            for (i = 0; i < m; i++)            {                flag = 1;                p = 0;                for (j = 1; j < n; j++)                {                    if (a[i, j] > a[i, p])                    {                        p = j;//找到行中最大的值                    }                }                for (k = 0; k < m;k++ )                {                    if(a[i,p]>a[k,p]){//是否为列中最小的值                        flag = 0;                        break;                    }                }                if(flag==1){                    adgs = adgs + 1;                    Console.WriteLine("\n第{0}鞍点的位置是({1},{2})",adgs,i+1,p+1);                }            }            if(adgs==0){                Console.WriteLine("\n 无鞍点!");            }            Console.ReadKey();        }    }}

这里写图片描述
这里写图片描述

0 0
原创粉丝点击