数组地址的传送是我很容易弄错的地方,很惭愧没有学好c和c++知识,
之前是用基本的二维数组弄得,没有用到数据结构里的数组,现将改进后的代码粘在上面,便于以后的对比复习和再学习。
两者的算法是一样,所以说算法很重要!
一、没有数据结构里的数组做的
#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<math.h>
#define N 2
using namespace std;
//函数声明部分
void Error(char *s); //错误处理函数
void Creat_Matrix(int sk[]); //创建一个对称矩阵函数
void Muli_Matrix(int sk1[], int sk2[],int sk3[][N]);//两个对称矩阵相称,并将结果保存在sk中
void Print_sk(int sk[]); //输出压缩后的函数
void Print_Matrix(int sk[][N]); //输出对称矩阵函数
int MAX(int a, int b); //取a、b中的最大值
int MIN(int a, int b); //取a、b中的最小值
//函数定义部分
void Error(char *s)
{
std::cout << s << endl;
exit(1);
}
int MAX(int a, int b)
{
if (a >= b)
return a;
else
return b;
}
int MIN(int a, int b)
{
if (a <= b)
return a;
else
return b;