数据结构实验五 数组(找马鞍点,压缩存储,对称矩阵相乘)

一、 实验目的
1. 熟悉数组的结构
2. 掌握矩阵的压缩存储
3. 能够对数组和矩阵的压缩存储进行运算

二、 实验内容
1. 若在矩阵Am×n中存在一个元素A[i][j],其满足A[i][j]是第i行元素中最小值,且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。用二维数组存储矩阵Am×n ,设计算法求出矩阵中所有马鞍点。

#include<iostream>
using namespace std;
const int size=100;
void man(int * a,int m,int n)     //求马鞍点
{
    int i,j,p,q;
    int P[size],Q[size];   //P存储每一行的最小值,Q存储每一列的最大值
    for(i=0;i<m;i++)
    {
        p=0;
        for(j=0;j<n;j++)
        {
            if((*(a+n*i+j))<(*(a+n*i+p)))p=j;
        }
        P[i]=p;        //P存储每一行的最小值
    }
    for(j=0;j<n;j++)
    {
        q=0;
        for(i=0;i<m;i++)
        {
            if((*(a+n*i+j))>(*(a+n*q+j)))q=i;
        }
        Q[j]=q;     //Q存储每一列的最大值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值