《面向对象程序设计与VC++实现》--liwei_2_3(求矩阵的行元素及对角线之和)

此博客围绕《面向对象程序设计与VC++实现》展开,给出求矩阵行元素及对角线之和的代码。通过定义不同函数处理矩阵,在主函数中完成数据输入、调用函数计算,最后输出行元素和与对角线元素和。

//《面向对象程序设计与VC++实现》--liwei_2_3(求矩阵的行元素及对角线之和)
//--《面向对象程序设计与VC++实现》
//--Liwei_2_3
//--求矩阵的行元素及对角线之和
//--11/5/2005 Sat. morning  22:00
//--Computer Lab

#include <iostream>
using namespace std;

const int size=2;
void matrix1(int *seq,int *result_p,int &cross_p);
void matrix2(int seq[size][size],int *result_p,int &cross_p);
void matrix3(int (*seq)[size],int *result_p,int &cross_p);


int main()
{
  int array[size][size];
  int result[size],cross=0;//result存放行元素相加结果; cross存放对角线元素相加结果
  int i,j;
  cout<<"Please enter numbers "<<size*size<<" :"<<endl;
  for(i=0;i<size;i++)//数据输入
  { 
  result[i]=0;//记得初始化
     for(j=0;j<size;j++)
       cin>>array[i][j];
  }
  //matrix1(*array,result,cross);//传行地址 cross为引用参数
  //matrix2(array,result,cross);//传数组
  matrix3(array,result,cross);//传数组
  cout<<endl<<"=========================================="<<endl;
  for(i=0;i<size;i++)//数据输出
      cout<<"row "<<i<<" sum is:"<<result[i]<<endl;;   
  cout<<endl<<"cross sum:"<<cross<<endl;
  return 0;
}

void matrix1(int *seq,int *result_p,int &cross_p)
{
  int i,j;
  for(i=0;i<size;i++)
     for(j=0;j<size;j++)
  {
      result_p[i]=result_p[i]+*((seq+i*size)+j);
      if(i==j)
        cross_p=cross_p+*((seq+i*size)+j);
  }
}

void matrix2(int seq[size][size],int *result_p,int &cross_p)
{
  int i,j;
  for(i=0;i<size;i++)
   for(j=0;j<size;j++)
   {
       result_p[i]=result_p[i]+seq[i][j];
    if(i==j)
      cross_p=cross_p+seq[i][j];
   }
}

void matrix3(int (*seq)[size],int *result_p,int &cross_p) //数组指针
{
  int i,j;
  for(i=0;i<size;i++)
   for(j=0;j<size;j++)
   {
       result_p[i]=result_p[i]+*(*(seq+i)+j);
    if(i==j)
      cross_p=cross_p+*(*(seq+i)+j);
   }
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值