编写程序,要求主函数初始化一个矩阵 (5×5),并分别调用各函数实现求

1、元素值取自随机函数(intrand(););2、求主对角线上的元素之和;3、实现矩阵的转置;4、输出矩阵各元素的值。注:主函数中,矩阵转置前后的值均要输出。... 1、元素值取自随机函数(int rand(););
2、求主对角线上的元素之和;
3、实现矩阵的转置;
4、输出矩阵各元素的值。
注:主函数中,矩阵转置前后的值均要输出。
展开
 我来答
匿名用户
2013-10-22
展开全部
#include<iostream.h>
#include"stdlib.h"
#include"time.h"
#include "stdio.h"

int a[5][5],c[5][5],d[5][5]; //矩阵a、c、d定义为全局变量

void zc(int b[][5],int n); //对角线函数声明语句
void zc1(int b[][5],int n); //转置函数声明语句

void main()
{
int i,j;
srand(time(NULL)); //产生一个时间
for(i=0;i<5;i++)
for(j=0;j<5;j++)
*(*(a+i)+j)=rand()%100; //产生一个随机数

cout<<"自动生成的矩阵为:\n";
for(i=0;i<5;i++) //输出自动生成的二维数组
{
for(j=0;j<5;j++)
cout<<'\t'<<*(*(a+i)+j);
cout<<"\n"<<endl;
}

zc1(a,5); //调用矩阵函数
cout<<"转置后的矩阵为:\n" ; //调用转置主函数
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
cout<<'\t'<<*(*(d+i)+j);
cout<<"\n"<<endl;
}

zc(a,5); //调用矩阵函数 输出对角线和
{
cout<<endl;
}
}

void zc(int b[][5],int n)
{
int i,j;
int sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(i==j||j==4-i)
sum+=a[i][j]; //求对角线和
}
cout<<"对角线之和为:"<<sum<<endl;
}

void zc1(int b[][5],int n)
{
int i,j;
int (*p)[5];
p=d;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
*(*(p+i)+j)=*(*(b+j)+i); // 转置矩阵
}
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式