实验三 数组
一、 实验目的
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;
}
分享到:
相关推荐
后缀数组——处理字符串的有力工具,国家集训队论文
罗穗骞《后缀数组——处理字符串的有力工具》(有算法源码和解题源码) IOI2009论文,有源码,简单易懂,方便学习后缀数组的构造和各种应用。 后缀数组是一种优秀的数据结构,在字符串匹配方面有诸多应用。
第四章 C语言 PTA数组——作业-答案.html
实验6+数组——二维数组和字符数组.doc
后缀数组——处理字符串的有力工具_罗穗骞.ppt
摘要】后缀数组是处理字符串的有力工具。后缀数组是后缀树的一个非常精巧的替代品,它比后缀树容易编程实现,能够实现后缀树的很多功能而时间复杂度也并不逊色,而且它比后
后缀数组这个东西真的是神仙操作…… 但是这个比较神仙的东西在网上的讲解一般都仅限于思想而不是代码,而且这个东西开一堆数组,很多初学者写代码的时候很容易发生歧义理解,所以这里给出一个比较详细的讲解。笔者...
后缀数组的倍增算法和DC3算法的实现以及不可重叠重复子串的问题,很详细的资料
后缀数组——处理字符串的有力工具.ppt
1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。 2.编程实现:在给定的字符串中查找满足条件的第一个字符。 3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维...
C语言实验数组C语言实验数组
大一c语言数组实验心得.docx
罗穗骞《后缀数组——处理字符串的有力工具》(有算法源码和解题源码) IOI2009论文,有源码,简单易懂,方便学习后缀数组的构造和各种应用。 后缀数组是一种优秀的数据结构,在字符串匹配方面有诸多应用。
关于php数组的基本概念,操作函数完全提炼,让你快速全面掌握php数组操作!
OI集训队资料;后缀数组;DC3算法;题目讲解
数组应用——一维数组排序; 定义一组无序的整型数列,共10个数值,经过一定的处理,使该数组由大到小排列,并输出到屏幕上。具体要求如下: 定义int型数组arrayorder并赋初值为0,长度为10,以承载该数列; 使用...
C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件PPT C语言数组课件...
C语言课件——第06章数组
后缀数组;代码;罗穗骞;题目附代码;OI集训队资料
c语言课程设计报告通讯录——数组