【问题标题】:Entering two values from user into two different arrays at same index将用户的两个值输入到相同索引的两个不同数组中
【发布时间】:2021-10-28 09:58:13
【问题描述】:

我是 C++ 的初学者。我试图同时将两个不同的值输入到两个不同的数组中。但我不知道为什么只有第二个输入存储在两个数组中。

样本输入

5

110 50

113 100

113 88

43 100

34 34

(两个输入需要用空格隔开)

我的代码

int N,K[N],P[N];
cin>>N;   

for(int i=0; i<N;i++)
{ 
    cin >> K[i] >> P[i];
}

【问题讨论】:

  • 您的代码甚至无法编译,因为在编译时应该知道数组大小,更不用说您如何得出结论:“只有第二个输入存储在两个数组中。”

标签: c++ arrays


【解决方案1】:

这一行是废话:int N,K[N],P[N]; 您要求编译器在堆栈上为仅在运行时知道的数字保留空间。

改为使用std::vector,它支持大小仅在运行时知道的数组:

int N;
cin>>N;

std::vector<int> K(N),P(N);

for(int i=0; i<N;i++) {
  cin >> K[i] >> P[i];
}

【讨论】:

  • 谢谢你们,我明白我犯的愚蠢错误?
猜你喜欢
  • 2016-06-17
  • 2018-09-02
  • 1970-01-01
  • 2016-11-24
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多