[問題] 宣告陣列是空值 但是卻有某些欄位不是ꨠ
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我宣告一個陣列,size大小由輸入的值決定,數入完值之後,陣列還未存入任何的值,已經有
部份的欄位已經存在值了,這是為甚麼?
餵入的資料(Input):
nd = 8 s[nd]
預期的正確結果(Expected Output):
s[0]=0 s[1]=0 s[2]=0 s[3]=0 s[4]=0 s[5]=0 s[6]=0 s[7]=0
錯誤結果(Wrong Output):
s[5]=8 s[7]=4201719
程式碼(Code):(請善用置底文網頁, 記得排版)
while(point < 27)
{
ori = 100;
q = 0;
for(j = 2;j <= nd;j++)
{
if(a[j-1] == '\0')
{
if(ori > route[1][j])
{
ori = route[1][j];
temp = j;
}
}
}
point = point + (temp-1);
a[temp-1] = temp;
q = q + capacity[1][temp];
sum = sum + ori;
cout<<"第"<<c<<"條:"<<endl;
c = c + 1;
cout<<"depot-> "<<a[temp-1]-1<<" -> ";
i = temp;
while(q < 8)
{
ori = 100;
for(j = 2;j <= nd;j++)
{
if((route[i][j] != 9999) && (route[i][j] != 0))
{
if(a[j-1] == '\0')
{
if(q + capacity[1][j] <= 8)
{
if(ori > route[i][j])
{
ori = route[i][j];
temp = j;
}
}
}
}
}
if( q >= 7)
{
cout<<"q="<<q<<endl;
q = 8;
}
else if(ori != 100)
{
point = point + (temp-1);
q = q + capacity[1][temp];
cout<<"q="<<q<<endl;
a[temp-1] = temp;
i = temp;
sum = sum + ori;
cout<<a[temp-1]-1<<" -> ";
}
}
cout <<"depot"<<endl;
cout <<"總旅行距離:"<<sum<<endl;
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.119.213
推
12/22 07:16, , 1F
12/22 07:16, 1F
→
12/22 07:36, , 2F
12/22 07:36, 2F
→
12/22 08:02, , 3F
12/22 08:02, 3F
→
12/22 08:06, , 4F
12/22 08:06, 4F
→
12/22 08:07, , 5F
12/22 08:07, 5F
→
12/22 09:20, , 6F
12/22 09:20, 6F
→
12/22 10:14, , 7F
12/22 10:14, 7F
→
12/22 10:15, , 8F
12/22 10:15, 8F
推
12/22 10:16, , 9F
12/22 10:16, 9F
→
12/22 10:17, , 10F
12/22 10:17, 10F
→
12/22 10:18, , 11F
12/22 10:18, 11F
→
12/22 10:23, , 12F
12/22 10:23, 12F
→
12/22 10:26, , 13F
12/22 10:26, 13F
推
12/22 10:28, , 14F
12/22 10:28, 14F
→
12/22 10:28, , 15F
12/22 10:28, 15F
→
12/22 11:28, , 16F
12/22 11:28, 16F
→
12/22 14:22, , 17F
12/22 14:22, 17F
推
12/22 23:51, , 18F
12/22 23:51, 18F
→
12/22 23:52, , 19F
12/22 23:52, 19F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章