| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:函数与数组的问题
只看楼主 加入收藏
DevSdl
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-9
收藏
得分:0 
以下是引用a2680189在2007-6-9 23:40:20的发言:

求救!!!!!!!!
还是不行啊
源程序如下 (求4维矩阵的m次方)
main()
{
int a[4][4],deg[4];
int i,j,m;


printf("start end m");
scanf("%d %d %d",&i,&j,&m);
jzcf(a,m);
printf("start:%d end:%d road:%d",i,j,a[i][j]);

}
void jzcf(int *c,int m)
{
int i,j,k;
int *b;
if(m>=1)
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
for(k=0;k<4;k++)
*(b+4*i+j)+=*(c+4*i+k)*(*(c+4*k+i));
}
c=b;
jzcf(c,m-1);

}

一个是多维数组,一个是指针不一样

[此贴子已经被作者于2007-6-10 17:07:08编辑过]

2007-06-10 16:52
DevSdl
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-9
收藏
得分:0 

10楼的我改了一下,看看结果对不对(DEVC++下通过编译)
如果没有负数,建议用无符号长整形,防溢出,

#include <stdio.h>
#include <conio.h>

int main()
{
int n;
int i;
int j;
int count;
int sum;
int id;
int a[4][4],b[4][4],d[4][4];

printf(" cifang n\n");
scanf("%d",&n);

for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{ /*你这里没括号*/
scanf("%d",&a[i][j]); /*我帮你加了*/
d[i][j]=a[i][j]; /*不知道对不对*/
}
}

for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
printf("%d",a[i][j]);
}

printf("\n\n");

for(count=0;count<n;count++)
{
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
b[i][j]=d[i][j];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
sum=0;
for(id=0;id<4;id++)
{
sum+=a[id][j]*b[i][id];
}
d[i][j]=sum;
}

}
}

for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("d[%d][%d]=%d\n",i,j,d[i][j]);
}
getch();
return 0;
}

[此贴子已经被作者于2007-6-10 17:09:38编辑过]

2007-06-10 16:58
快速回复:函数与数组的问题
数据加载中...
 
   



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

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