打印出阵列变成垃圾

时间:2014-07-15 06:28:51

标签: c++ algorithm syntax type-conversion

我有一个函数可以在函数中对数组(aArray)和数组(bArray)中的元素(int)中的多个元素(double)进行排序。但是,当我打印出来时,它变成了垃圾。

aSize指的是aArray的大小; aArray [A大小];

bSize是指bArray的大小; bArray [BSIZE];

e.g 对于数组:

aArray[5] = { 2.5, 4.5, 3.5, 7.5, 5.5 }

算法后:

aArray[5] = { 2.5, 3.5, 4.5, 5.5, 7.5}

表示b数组:

bArray[3] = { 3, 1, 5 }

算法后:

bArray[3] = { 1, 3, 5}

在下面的代码之后,它应该打印出aArray []

的位置

例如:

cArray[3] = { 2.5, 3.5, 5.5 }

此处打印输出代码:

int main(){

            int bSize,tem;
            double tem1;
            cout<<endl<<endl<<"recalculation: [ ";
            for(int t=0;t<bSize;t++){
                tem=bArray[t];
                tem1=aArray[tem];
                tem1=cArray[t];

              cout<<cArray[t]<<" ";
            }
}

输出:

  

重新计算:[6.95324e-310 6.95322e-310 1.62597e-260]

帮忙。感谢

2 个答案:

答案 0 :(得分:0)

C ++中的数组基于零,访问项目#5(因为数组中元素的索引为0到4)将导致垃圾。 您还应该初始化变量(大小)

答案 1 :(得分:0)

我明白了,实际上当我打印出数组tem1 = cArray [t]时,cArray [t]未被声明,所以这个问题的关键实际上是

  

cArray [t] = tem;

洛尔!!