求一个n*n矩阵主对角线之和,次对角线元素之和.用指针完成
题目
求一个n*n矩阵主对角线之和,次对角线元素之和.用指针完成
答案
#include <iostream>
using namespace std;
void main()
{
/* 变量定义与初始化 */
int i,j;
int nMainSum = 0;
int nSubSum = 0;
int nSize = 0;
int **arr = NULL;
/* 用户输入,指定矩阵大小 */
cout<<"Input array size:"<<endl;
do
{
cin>>nSize;
if (0 >= nSize)
{
cout<<"Invalid number,Do it again!"<<endl;
}
} while (0 >= nSize);
/* 为二级指针分配内存 */
arr = new int *[nSize];
for(j = 0; j < nSize; j++)
{
*(arr + j) = new int[nSize];
}
/* 用户输入,给矩阵赋值 */
for (i = 0; i < nSize; i++)
{
for(j = 0; j < nSize; j++)
{
cin>>*(*(arr + i) + j);
}
}
/* 计算主对角线的和 */
for (i = 0; i < nSize; i++)
{
nMainSum += *(*(arr + i) + i);
}
/* 计算次对角线的和 */
for (i = nSize - 1, j = 0; i >= 0, j < nSize; i--, j++)
{
nSubSum += *(*(arr + i) + j);
}
/* 输出结果 */
cout<<"Main sum is:"<<nMainSum<<endl<<"Sub sum is:"<<nSubSum<<endl;
/* 释放内存 */
for(j = 0; j < nSize; j++)
{
delete[] *(arr + j);
}
delete[] arr;
}
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 8.在下列关于虚拟内存的说法中,正确的是____.A.如果一个程序的大小超过了计算机所拥有的内存容量,则
- Angel若a:b=c:d=1.8, 且a+b+c+d=12.6 , 其中a:d=18:5, 那么a=( ) b=( ) c=( )d=( )
- 烈日炎炎似火烧的全文
- 请以“friendship”写一篇英语作文
- 将细铁丝绕成螺旋状,一边系粗铁丝,一边系火柴,点燃火柴,火在将燃尽时,将细铁丝伸入盛有氯气的集气瓶
- 解不等式; 1.6分之3x-4≤3分之2x-1 2.3分之2x-1-2分之3x-1>12分之5
- 给出命题:“已知a、b、c、d是实数,若a≠b且c≠d,则a+c=b+d”对原命题、逆命题、否命题、逆否命题
- Linda A型沸石分子筛是什么?和4A分子筛有什么关系?
- 英语短语翻译带汉语
- 七律长征的译文?
热门考点