#include <iostream>//两N阶矩阵相乘
#include <stdlib.h>
#include <time.h>
using namespace std;
int fun(int n,int **A,int **B,int **C)//地址传递指针
{
for(int i=0;i<n;i++)
{for(int j=0;j<n;j++)
{
int **C;
for(int k=0;k<n;k++)
{
C[i][j]=C[i][j]+A[i][j]*B[i][j];
}
cout<<" ";
}
cout<<endl;
}
return 1;
}
void main()
{
int **A,int **B,int **C,int n;//开始:构建动态二维数组
cin>>n;
A=new int*[n];//N行 //这里我可以写成A=B=C=new int*[n];吗? 而不分开写 我怕出错误就分开写了
B=new int*[n];
C=new int*[n];
for(int i=0;i<n;i++)
{
A[i]=new int[n];//N列
B[i]=new int[n];
C[i]=new int[n];
} //结束:构建动态二维数组
for(int j=0;j<n;n++) //开始:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
{
for(int k=0;j<n;n++)
{
srand((unsigned)time(NULL));
A[j][k]=rand()%100;
B[j][k]=rand()%100;
C[j][k]=0;
} //结束:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
fun(n,A,B,C);
}
}
程序到此结束,我运行后让我输入一个数n(n阶),但是输入数后什么也没发生 这个程序的正确输出是一个C的阶矩阵啊
补充:在随机数赋值那里:srand这个函数是给随机数产生一个随机种子(seed),函数原型是srand((unsigned)time(NULL)); time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。但是这里是三个并排写在一个循环的随即赋值 也就是说在同一时间里赋值
那赋的值是不是一样啊!
#include <stdlib.h>
#include <time.h>
using namespace std;
int fun(int n,int **A,int **B,int **C)//地址传递指针
{
for(int i=0;i<n;i++)
{for(int j=0;j<n;j++)
{
int **C;
for(int k=0;k<n;k++)
{
C[i][j]=C[i][j]+A[i][j]*B[i][j];
}
cout<<" ";
}
cout<<endl;
}
return 1;
}
void main()
{
int **A,int **B,int **C,int n;//开始:构建动态二维数组
cin>>n;
A=new int*[n];//N行 //这里我可以写成A=B=C=new int*[n];吗? 而不分开写 我怕出错误就分开写了
B=new int*[n];
C=new int*[n];
for(int i=0;i<n;i++)
{
A[i]=new int[n];//N列
B[i]=new int[n];
C[i]=new int[n];
} //结束:构建动态二维数组
for(int j=0;j<n;n++) //开始:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
{
for(int k=0;j<n;n++)
{
srand((unsigned)time(NULL));
A[j][k]=rand()%100;
B[j][k]=rand()%100;
C[j][k]=0;
} //结束:往三个动态数组里赋值 其中A[][],B[][]是被随机数赋值,C[][]是每个元素是0
fun(n,A,B,C);
}
}
程序到此结束,我运行后让我输入一个数n(n阶),但是输入数后什么也没发生 这个程序的正确输出是一个C的阶矩阵啊
补充:在随机数赋值那里:srand这个函数是给随机数产生一个随机种子(seed),函数原型是srand((unsigned)time(NULL)); time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。但是这里是三个并排写在一个循环的随即赋值 也就是说在同一时间里赋值
那赋的值是不是一样啊!
解决方案 »
- 我想做一个统计上网流量的程序,不知如何下手,请指教!
- 怎么建立一个没有界面的win32应用程序?
- html中,IHTMLImgElement接口可以访问image对象,用什么接口访问Applet对象?
- 前帖未结,此帖再散,分数散光,一起结
- 当点击listctrl的空白处时,怎样使已选中item的不失去焦点呢?
- ---100分问题,高手请指教---
- 做过播放器的高手
- 那位大虾提供一点调用远程COM的源代码,越具体越好。拜托!
- 求助:扫描枪识别
- 代理/存根DLL在什么情况下用,调用一本地服务器组件需要吗?
- 一个关于加控件变量后对话框的窗口就显示不出的问题(现在已找到了解决方案,但其中的道理明白,所以来请教了)
- 谁知道ClickOnce部署?
另外三个指针当然要分开new,否则就是同一个了。
你这个程序没delete,存在内存泄露的问题~
子函数计算的时候,这个语句是不是写错了:C[i][j]=C[i][j]+A[i][j]*B[i][j]; 建议这样的问题先单步调试下