马鞍点报告马鞍点报告
西安郵電學院
数据结构课内实验报告
题 目: 马鞍点问题
院系名称: 计算机学院
专业名称: 软件工程专业
班 级: 软件0901
学生姓名: 倪少伟(21)
学号(8位): 040950021
一. 需求分析
本程序主要的任务是遍历二维数组,找出数组中行最小列最大的元素,称为马鞍点。
(1) 输入形式为自定义数组大小以及输入数组内容(整形数字),输出范围为数组中
的数。
(2) 输出形式为 弟i行弟j列为马鞍点
(3) 程序能达到输出数组中的马鞍点
二. 概要设计
程序中定义的抽象数...
马鞍点
西安郵電學院
数据结构课内实验报告
题 目: 马鞍点问题
院系名称: 计算机学院
专业名称: 软件工程专业
班 级: 软件0901
学生姓名: 倪少伟(21)
学号(8位): 040950021
一. 需求分析
本程序主要的任务是遍历二维数组,找出数组中行最小列最大的元素,称为马鞍点。
(1) 输入形式为自定义数组大小以及输入数组内容(整形数字),输出范围为数组中
的数。
(2) 输出形式为 弟i行弟j列为马鞍点
(3) 程序能达到输出数组中的马鞍点
二. 概要设计
程序中定义的抽象数据类型: int(整形)。
1. 功能模块
main()
输入函数(确定数组
求马鞍点函
大小、输入数组)
数
输出函数
2. 模块功能描述
(1) 输入函数: 访问用户要输入数组的大小并输入数组。
(2) 求马鞍垫函数: main函数将用户输入的数组传递给该函数。由他求出数
组中的马鞍点
(3) 输出函数: 输出所求的马鞍点。
三(详细设计
程序中涉及的所有变量
定义 int a[256][256]二维数组 用来创建用户想要的数组 整形 int i、j、k 用来循环。输入数组以及遍历数组 整形 int m,n。输入数组。
伪代码部分:
输入部分:
printf("请输入矩阵的行列数:\n");
scanf("%d %d",&n,&m);
printf("请输入与行列数相符的矩阵:\n");
for( i =0 ;i < n ;i++)
for( j =0 ;j < m; j++)
scanf("%d",&a[i][j]);
flag = 0;
printf("马鞍点输出(输出该点所在的行数与列数):\n");
求马鞍点部分:
for( i = 0; i < n ;i++)
{
for( j = 0; j < m; j++)
{
minn = a[i][j];
for( k = 0 ;k < m; k++)
{
if( minn > a[i][k])
break;
}
if( k == m)
{
maxx = a[i][j];
for( l = 0; l < n; l++)
{
if( maxx < a[l][j])
break;
}
if( l == n)
{
printf("%d %d %d\n",i , j ,a[i][j]);
flag = 1;
}
}
}
}
if( flag == 0)
printf("此矩阵没有马鞍点");
printf("\n");
}
return 0;
}
四(时间复杂度分析
立方级别
五(测试数据及运行结果
1.有一个马鞍点
2.没有马鞍点
3.有多个马鞍点
六(调试情况,设计技巧及体会
经过本次上机我熟悉了马鞍点的性质,更对矩阵数组等知识有了更进一步的
了解
七(附录:
#include
int main()
{
int n, m, i, j, k, l, minn, maxx, flag ;
int a[256][256];
while(1)
{
printf("请输入矩阵的行列数:\n");
scanf("%d %d",&n,&m);
printf("请输入与行列数相符的矩阵:\n");
for( i =0 ;i < n ;i++)
for( j =0 ;j < m; j++)
scanf("%d",&a[i][j]);
flag = 0;
printf("马鞍点输出(输出该点所在的行数与列数):\n");
for( i = 0; i < n ;i++)
{
for( j = 0; j < m; j++)
{
minn = a[i][j];
for( k = 0 ;k < m; k++)
{
if( minn > a[i][k])
break;
}
if( k == m)
{
maxx = a[i][j];
for( l = 0; l < n; l++)
{
if( maxx < a[l][j])
break;
}
if( l == n)
{
printf("%d %d %d\n",i , j ,a[i][j]);
flag = 1;
}
}
}
}
if( flag == 0)
printf("此矩阵没有马鞍点");
printf("\n");
}
return 0;
}
本文档为【马鞍点报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。