急急急 初始化数组赋值问题 求助!!!!!!程序有点长,但只需要看为何我的数组元素的值全是0
#include<stdio.h>#include<string.h>voidtraversal(floata[7][7],intvisit[7],intx,floats...
#include <stdio.h>
#include <string.h>
void traversal(float a[7][7], int visit[7],int x,float store[7][7][1],int i,int j)
{
int k;
visit[x] = 1;
store[i][j][0] = store[i][j][0] + a[i][j];
printf("The node visited id %d\n",x);
if(x != j)
for(k=0; k<7; k++)
{
//printf("visit[k]=%d",visit[k]);
if( visit[k] == 0 && a[x][k] != 0)
{
// printf("%d++/n",k);
traversal(a,visit,k,store,i,j);
}
}
}
int main(void)
{
float a[7][7] = //将题目给出的图,存储在计算机中
{
{ 0, 3, 0, 0, 0, 0, 0},
{ 3, 0, 2, 0, 0,1.5, 0},
{ 0, 2, 0, 4, 6,2.5, 0},
{ 0, 0, 4, 0, 3,1.8, 0},
{ 0, 0, 6, 3, 0, 0,1.5},
{ 0,1.5,2.5,1.8, 0, 0, 0},
{ 0, 0, 0, 0, 0,1.5, 0}
};
float store[7][7][1] = {0}; //分别记录七个点其余每个点是否拜访,以及进过路程
int visit[7] = {0};
int i=0,j,k;
for(i=0; i<7; i++) //循环依次计算7个居民点
for(j=0; j<7; j++) //循环依次拜访其余六个居民点
{
memset(a,0,sizeof(a));
printf("从%d访问按通路访问%d\n",i,j);
printf("a[i][j]=%f\n",a[i][j]);
if(a[i][j] != 0) //观察给出图可知,任意两点间若能直接到达,其距离必定最短
{
printf("a[i][j]=%f\n",a[i][j]);
store[i][j][0] = store[i][j][0] + a[i][j];
}
if(a[i][j] == 0 && visit[i]==0)
traversal(a,visit,i,store,i,j);
printf("store[i][j][0]=%f\n",store[i][j][0]);
}
return 0;
}
a[7][7]数组内的元素为0 展开
#include <string.h>
void traversal(float a[7][7], int visit[7],int x,float store[7][7][1],int i,int j)
{
int k;
visit[x] = 1;
store[i][j][0] = store[i][j][0] + a[i][j];
printf("The node visited id %d\n",x);
if(x != j)
for(k=0; k<7; k++)
{
//printf("visit[k]=%d",visit[k]);
if( visit[k] == 0 && a[x][k] != 0)
{
// printf("%d++/n",k);
traversal(a,visit,k,store,i,j);
}
}
}
int main(void)
{
float a[7][7] = //将题目给出的图,存储在计算机中
{
{ 0, 3, 0, 0, 0, 0, 0},
{ 3, 0, 2, 0, 0,1.5, 0},
{ 0, 2, 0, 4, 6,2.5, 0},
{ 0, 0, 4, 0, 3,1.8, 0},
{ 0, 0, 6, 3, 0, 0,1.5},
{ 0,1.5,2.5,1.8, 0, 0, 0},
{ 0, 0, 0, 0, 0,1.5, 0}
};
float store[7][7][1] = {0}; //分别记录七个点其余每个点是否拜访,以及进过路程
int visit[7] = {0};
int i=0,j,k;
for(i=0; i<7; i++) //循环依次计算7个居民点
for(j=0; j<7; j++) //循环依次拜访其余六个居民点
{
memset(a,0,sizeof(a));
printf("从%d访问按通路访问%d\n",i,j);
printf("a[i][j]=%f\n",a[i][j]);
if(a[i][j] != 0) //观察给出图可知,任意两点间若能直接到达,其距离必定最短
{
printf("a[i][j]=%f\n",a[i][j]);
store[i][j][0] = store[i][j][0] + a[i][j];
}
if(a[i][j] == 0 && visit[i]==0)
traversal(a,visit,i,store,i,j);
printf("store[i][j][0]=%f\n",store[i][j][0]);
}
return 0;
}
a[7][7]数组内的元素为0 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询