实验三 数组
一、 实验目的
1.熟悉数组的结构
2.掌握矩阵的压缩存储
3.能够对数组和矩阵的压缩存储进行运算
二、 实验内容
1. 若在矩阵Am×n中存在一个元素A[i-1[j-1],其满足A[i-1[j-1]是第i行元素中最小值,且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。用二维数组存储矩阵Am×n ,设计算法求出矩阵中所有马鞍点。(文件夹:习题11_4)
/*数组的结构类型定义.h*/
/*
const int m = 3;
const int n = 3;
*/
#define m 3
#define n 3
typedef struct
{
int A[m][n];
/*int max[m],min[n];*/ /* RenV: 我不知道这两个是干什么的 */
}
array;
#include"数组的结构类型定义.h"
void minmax( array * pa )
{
int row,col;
int temp;
row=0,col=0;
printf("Row/tCol/tNumber:/n");
for( row=0 ; row<m ; row++ )
{
col = rowmin(pa->A[row]);
if( row == colmax( pa->A , col ) )
{
printf("%d/t%d/t%d/n",row,col,pa->A[row][col]);
}
}
return ;
}
int rowmin( int p[] )
{
int j,col;
int t = p[0];
col = 0;
for( j=1 ; j<n ; j++ )
{
if( p[j]<t )
{
t = p[j];
col = j;
}
}
return col;
}
int colmax( int p[][n] , int col )
{
int i;
int row;
int temp;
row = 0;
temp = p[0][col];
for( i=1 ; i<m ; i++ )
{
if( p[i][col] > temp )
{
temp = p[i][col];
row = i;
}
}
return row;
}
/*找马鞍点的主程序文件.cpp*/
#include <stdio.h>
#include <stdlib.h>
#include"数组的结构类型定义.h"
int main()
{
/* array*pa=new array; */
array * pa = ( array* )malloc( sizeof(array) );
int i, j;
printf("Please Input Array[%d][%d]:/n",m,n);
for (i=0;i<m;i++)
for (j=0;j<n;j++)
/*cin>>pa->A[i][j];*/
scanf("%d",&(pa->A[i][j]));
minmax(pa);
system("PAUSE");
return 0;
}
分享到:
相关推荐
**C语言编程技术实践——实验六:数组** 在C语言编程技术实践中,实验六的核心是理解和运用数组这一关键概念。数组是C语言中用于存储一组相同类型数据的集合,是程序设计的基础工具之一。本实验旨在帮助学生深入...
在本实验中,我们将深入学习和实践一维数组、二维数组以及动态数组的概念和使用。 一、一维数组 一维数组可以视为线性数据结构,它由一系列按照特定顺序排列的元素组成。在C/C++中,定义一个一维数组的基本语法是...
3. **实现响应比高者优先(HRRN)作业调度算法**:通过编写C语言程序来实现一种常见的作业调度策略——响应比高者优先算法。 #### 二、实验原理 ##### 批处理系统调度与管理方式 批处理系统是一种操作系统模式,...
在本项目中,我们关注的是一个使用C语言编写的经典游戏——贪吃蛇。这是一个常见的编程实验,旨在帮助学生深入理解C语言的基本概念,如控制结构、数组、函数以及内存管理。下面将详细介绍这个项目涉及的关键知识点。...
在本实验作业中,我们将深入探讨C语言编程中的一个重要数据结构——链表。链表是一种动态数据结构,它不像数组那样需要预先分配连续的内存空间,而是通过节点间的指针链接来存储数据。这对于处理不确定数量的数据...
"C语言大作业报告——2048小游戏程序.pdf" 本资源为一份C语言大作业报告,旨在设计和实现一个小型信息库管理系统或闯关式游戏程序,即2048小游戏程序。该游戏程序要求使用C语言编写,采用自顶向下的模块化设计思想...
内涵实验报告和源代码,注释详细,可直接做课设使用,课程报告已写好。 题目:学生管理系统设计 功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍...
1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和...
C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多...但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。
本书《数据结构实验与习题——线性表栈和队列串数组树与二叉树》旨在帮助学生更好地理解和实践这些概念。 首先,书中介绍了C语言基础知识,这是实现数据结构的基础。C语言的基本输入输出、函数及其参数传递、以及...
1. **基础语法**:C和C++的基础语法是学习的起点,包括变量声明、数据类型(如int、char、float等)、运算符(算术、比较、逻辑等)、流程控制(如if语句、switch语句、for循环、while循环)。 2. **函数**:了解...
这份名为"C语言作业报告以及课程设计(课程98分,课设优秀,含源代码)"的资源集合,是南京航空航天大学C语言课程的一份高质量学习资料。它包含了学生董家华在该课程中的全部作业和课程设计内容,且整体成绩达到98分...
在这个“大二上——数据结构”实验中,我们将深入学习并实践一些基础且重要的数据结构,如栈、链表和队列。 1. **栈**(Stack):栈是一种后进先出(LIFO, Last In First Out)的数据结构,类似于现实生活中的堆叠...
课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的
本教学单元设计主要关注实验一——熟悉C语言,旨在使学生掌握C语言的基础知识和编程技能,为后续的学习打下坚实的基础。 知识目标: 1. **模块化、结构化程序设计思想**:C语言支持模块化和结构化编程,这是一种将...
【C语言教学计划】 在本篇C语言教学计划中,主要...每堂课后布置的作业和实验报告要求,旨在促进学生的自我学习和反思,提高他们的编程技能。通过这样的教学安排,学生将能够逐步掌握C语言并具备独立解决问题的能力。
在华中科技大学计算机学院的C++实验课程中,"Queue_hustC++实验_"是一个针对初学者设计的项目,旨在让学生掌握数据结构中的基础概念——队列(Queue)的实现。队列是一种线性数据结构,遵循“先进先出”(FIFO, ...
《高级程序语言设计实验报告——班长及团支书选举系统开发》 本次实验报告的主题是设计并实现一个班长及团支书选举系统,主要使用的编程语言是C++,同时也涉及到了C语言的基础知识。该系统旨在提升学生的程序设计...
【高级语言程序设计(SIST000812)第2次实验报告——成绩管理系统的链表实现】 本次实验旨在让学生掌握程序设计的基本算法和数据结构,如链表,以及自顶向下、逐步求精的模块化设计方法。实验内容是设计一个学生成绩...
在本作业中,我们将深入探讨数值与符号计算领域中的一个重要主题——线性方程组的求解。线性方程组是数学中的基础概念,广泛应用于工程、物理、经济等众多领域。Python和C语言都是编程界常用的工具,它们各自有独特...