菜鸟求助!如何分配动态内存给double型的二维矩阵

lcaamtb 2003-10-16 11:07:03
要求输入矩阵X[N][P],矩阵元素double型,N,P为自己输入的,(如果是INT型的,我知道了如何输入),代码如下:
int **x;
x=(int **)malloc(sizeof(int*)*N);
for (i=0;i<n;i++)
{
x[i]=(int*)malloc(sizeof(int)*P);
}
还有如何建立一个矩阵相乘函数,这个函数适用任何两个矩阵相乘。
盼复!多谢!!
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
playboyxp 2003-10-16
  • 打赏
  • 举报
回复
#include <iostream.h>
void main()
{
int n;
double **p;
cin>>n;
p=new double*[n];
for(int i=0;i<n;i++)
p[i]=new double[n];
for(i=0;i<n;i++)
delete [] p[i];
delete [] p;
}

lcaamtb 2003-10-16
  • 打赏
  • 举报
回复
不好意思,忘记说明一下,要纯粹tc的,要不然看不懂!
tigerhohoo 2003-10-16
  • 打赏
  • 举报
回复
#include <exception>
#include <iostream>

using std::cout;
using std::endl;
void display(long double **);
void de_allocate(long double **);

int m = 3; // THE NUMBER OF ROWS.
int n = 5; // THE NUMBER OF COLUMNS.

int main(void) {
long double **data;

try { // TEST FOR EXCEPTIONS.
data = new long double*[m]; // STEP 1: SET UP THE ROWS.
for (int j = 0; j < m; j++)

data[j] = new long double[n]; // STEP 2: SET UP THE COLUMNS
}
catch (std::bad_alloc) { // ENTER THIS BLOCK ONLY IF bad_alloc IS THROWN.
// YOU COULD REQUEST OTHER ACTIONS BEFORE TERMINATING
cout << "Could not allocate. Bye ...";
exit(-1);
}

for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
data[i][j] = i + j; // ARBITRARY INITIALIZATION

display(data);
de_allocate(data);
return 0;

}

void display(long double **data) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++)
cout << data[i][j] << " ";
cout << "\n" << endl;
}
}

void de_allocate(long double **data) {
for (int i = 0; i < m; i++)
delete[] data[i]; // STEP 1: DELETE THE COLUMNS

delete[] data; // STEP 2: DELETE THE ROWS

}
houdy 2003-10-16
  • 打赏
  • 举报
回复
数组分配是要占用内存空间的,所以在分配前一定要知道分配空间的大小。如果不知道大小的话,编译器会报错的。
现在C++提供的标注类库,或者使用STL,完全可以不使用数组(数组在使用时存在很多弊端,比如上限越界等问题),如果使用标准类苦提供的list,vector等容器就很方便了,不用考虑一些细节的问题,只要使用就可以了。
yintongshun 2003-10-16
  • 打赏
  • 举报
回复
楼上说的行,只不过把cin>>n用scanf输入

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧