使用控制台

时间:2016-07-08 12:43:42

标签: c++ arrays

我试图通过从控制台获取值'n'来创建一个数组,并创建一个带有'n'的数组,然后再次使用值'r'来工作。

到目前为止我写了

int main(){
    int n = 0;
    cin >> n;
    int* a = new int[n];
    for(int i = 0; i< sizeof(a);i++){
       cin >> a[i];
    }
       for(int y = 0; y < sizeof(a);y++){
       cout << a[y] << " ";
       }
    int r = 0;
    cin >> r;
    rotate(a,r);

(“cout”部分用于检查数组的输出)

但不管我试试,我会得到一个长度不等于输入'n'的数组。有人可以给我一些建议吗?

这里是来自控制台的每个输入的输出: (第二行应该是创建的数组)

INPUT

6

1 2 3 4 5 6

3

OUTPUT

1 2 3 4 5 6 3 0 

INPUT

10

-1 -2 3 4 5 -6 7 -8 9 0

5

OUTPUT

-1 -2 3 4 5 -6 7 -8 

INPUT

1

1

1

OUTPUT

1 1 0 0 0 0 135137 0 


INPUT

5

1 2 3 4 5

5

OUTPUT

1 2 3 4 5 -3 135137 0 

为什么这些无法解释的数字到底有什么想法?

1 个答案:

答案 0 :(得分:0)

正如Algirdas所说,仔细看看SizeOf的作用。而且,你真的不需要它。你可以这样工作:

{{1}}

你的阵列中有'n'个元素。

另外,我知道大多数教科书都非常喜欢数组,但请遵循Cody Gray的建议!