| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2322 人关注过本帖
标题:矩阵空间采用 new 动态申请,保存在指针中。 这个步骤不会!!!
只看楼主 加入收藏
yu497272290
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-11-2
结帖率:42.86%
收藏
已结贴  问题点数:20 回复次数:3 
矩阵空间采用 new 动态申请,保存在指针中。 这个步骤不会!!!
第一题题目:
编写C++程序完成以下功能:
(1)假定矩阵大小为4×5(整型数组表示);
(2)定义矩阵初始化函数,可以从cin中输入矩阵元素;
(3)定义矩阵输出函数,将矩阵格式化输出到cout;
(4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;
(5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;
(6)定义三个矩阵:A1、A2、A3;
(7)初始化A1、A2;
计算并输出:A3 = A1加A2,A3 = A1减A2。
程序代码:
#include<iostream>
#define M 4
#define N 5
using namespace std;

class Matrix
{
      public:
            int A[M][N];
            void getMatrix()
            {
            cout<<"Please enter the matrix."<<endl;
            for(int i=0;i<M;i++)
               for(int j=0;j<N;j++)                     //读入矩阵 
                   {
                   cin>>A[i][j];
                   }
            }
            
            void outPut()                             //输出矩阵 
            {
            for(int i=0;i<M;i++)
               {
               for(int j=0;j<N;j++)
                   {
                   cout<<A[i][j]<<" ";
                   }
               cout<<endl;
               }
            }
            
            void matrixPlus(Matrix B,Matrix C)          //求和 
            {
            for(int i=0;i<M;i++)
               for(int j=0;j<N;j++)
                   this->A[i][j]=B.A[i][j]+C.A[i][j];
            }
            
            void matrixCut(Matrix B,Matrix C)            //做差 
            {
            for(int i=0;i<M;i++)
               for(int j=0;j<N;j++)
                   this->A[i][j]=B.A[i][j]-C.A[i][j];  
            }
            Matrix(){}
            ~Matrix(){} 
};

main()
{
      Matrix A1,A2,A3;                           //声明类 
      A1.getMatrix();                            //读入 
      A2.getMatrix();
      
      cout<<"The result of A1 and A2 is:"<<endl;
      A3.matrixPlus(A1,A2);
      A3.outPut();
      cout<<"The result of A1 subtract A2 is:"<<endl;
      A3.matrixCut(A1,A2);
      A3.outPut();
      
      system("pause");
}



第二题题目:
2、矩阵(二)
编写C++程序完成以下功能:
(1)假定矩阵大小为4×5(整型);
(2)矩阵空间采用new动态申请,保存在指针中;           //这个我不懂什么意思啊  这个怎么办?
(3)定义矩阵初始化函数,可以从cin中输入矩阵元素;
(4)定义矩阵输出函数,将矩阵格式化输出到cout;
(5)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;
(6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;
(7)动态申请三个矩阵:A1、A2、A3;
(8)初始化A1、A2;
(9)计算并输出A3 = A1加A2,A3 = A1减A2;
(10)释放矩阵空间。
搜索更多相关主题的帖子: 动态 空间 
2014-09-07 16:30
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:20 
就是让你使用new指令去申请个内存而已.
看你的可以申请二维数组.
比如  
int *p = new int;

程序代码:
//但我觉得你可以这样做.容易理解
    int (*p)[5];         //创建数组指针
    p = new int[4][5];   //二维
//下面是让你查看下内存地址,这个矩阵是不是很容易理解?
    for (int j = 0; j < 4; ++j)
    {
        for (int i = 0; i < 5; ++i)
            cout << &p[j][i] << " ";
        cout << endl;
    }

/*
0x4d2d30 0x4d2d34 0x4d2d38 0x4d2d3c 0x4d2d40 
0x4d2d44 0x4d2d48 0x4d2d4c 0x4d2d50 0x4d2d54 
0x4d2d58 0x4d2d5c 0x4d2d60 0x4d2d64 0x4d2d68 
0x4d2d6c 0x4d2d70 0x4d2d74 0x4d2d78 0x4d2d7c 
*/


[ 本帖最后由 stop1204 于 2014-9-8 08:52 编辑 ]

hl928452957@gmail点com

2014-09-08 08:49
yu497272290
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-11-2
收藏
得分:0 
回复 2 楼 stop1204
版主 在吗?
有一题需要你帮助
关于运算符重载
2014-09-09 12:16
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:0 
回复 3 楼 yu497272290
哪个

hl928452957@gmail点com

2014-09-10 07:43
快速回复:矩阵空间采用 new 动态申请,保存在指针中。 这个步骤不会!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021428 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved