数组2 c++

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:21:30
在文件作用域定义一个常量N。

const int N = 3;

编写一个input函数,实现N*N方阵的数据输入。

void input(double (*A)[N]);

编写一个print函数,实现N*N方阵的数据输出。

void print(double (*A)[N]);

编写一个multiply函数,实现两个N*N方阵A和B的相乘,相乘结果放在第3个方阵C。

void multiply(double (*A)[N], double (*B)[N], double (*C)[N]);

方阵相乘的计算公式为:

编写main函数,

创建3个N*N的方阵;

调用input函数输入方阵A和B的元素。

调用print函数输出方阵A和B的元素。

调用multiply函数计算方阵A和B的乘积。

调用print函数输出方阵C的元素

#include <iostream>
using namespace std;
const int N = 3;

void input(double (*A)[N])
{
int i;
int j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
cout<<"input a number:\n";
cin>>A[i][j];
}
}
}

void print(double (*A)[N])
{
int i;
int j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{

cout<<A[i][j]<<" ";
}
cout<<endl;
}
}

void multiply(double (*A)[N], double (*B)[N], double (*C)[N])
{
int i;
int j;
int k;
double sum;
for (i = 0; i < N; i++)
{

for (j = 0; j < N; j++)
{
sum = 0;
for (k = 0; k < N; k++)
{
sum += A[i][k]*B[k][j];
}
C[i][j] = sum;

}