在c++中读取数组的输入时出错
Error in reading input to an array in c++
我在编写排序算法时遇到以下错误。
代码:
int main()
{
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int n;
int a[100];
cin >> n;
for (int i = 1; i < n; ++i) {
cin >> a[i];
}
//or use getlinee as getline (cin, fullName);
int swap_count = 0;
for (int i = 0; i < n - 1; ++i) {
if (a[i] > a[i + 1]) {
swap_count = swap_count + 1;
}
}
if (swap_count != 0) {
for (int p = n; p > 1; --p) {
for (int q = 0; q < p - 1; ++q) {
if (a[q] > a[q + 1]) {
int temp_var = a[q];
a[q] = a[q + 1];
a[q + 1] = temp_var;
}
}
}
}
for (int i = 0; i < n; ++i) {
cout << a[i] << " ";
}
return 0;
}
输入:
3
1 5 2
输出:
1 5 1878000832
在重复使用多个值时,我发现该系列的最后一个值读错了。
这个问题的原因是什么?我该如何解决
注意:我知道有很多其他输入方式,但我想知道为什么这个不起作用。
您只从a[1]
读取元素,但排序从a[0]
开始。
更改
for (int i = 1; i < n; ++i)
{
cin >> a[i];
}
至
for (int i = 0; i < n; ++i)
{
cin >> a[i];
}
以将数据也读取到CCD_ 3。
相关文章:
- 读取文件的最后一行并输入到链接列表时出错
- 查找大输入的位数总和时出错?
- 如何删除已输入的书以及如何使标题,语言和名称在上面放置空格不会出错?
- 当使用 std::CIN 输入结构时,它会出错
- 使用 Visual Studio 代码读取 C++ 中的输入流时出错
- 在C++中使用istringstream读取输入时出错
- 如果我决定输入 (1 2) 而它要求 x,为什么我的输出会出错,但如果我输入 (12) 工作正常
- 确定输入"conscalc: calc"的类型时出错。不能联合编码器。具有不同字段集的结构类型
- C++:使用 fgets() 读取字符输入时出错
- 这个查找查询是否出错,因为我输入的数字太大
- 尝试重复读取输入会出错
- C++输入重定向导致文件参数工作时出错
- 尝试从 csv 文件输入大量数据时出错
- 在比较特定输入中的程序的数组中出错
- 获取 ADC 输入时出错
- 使用 swig 时出错:输入 (1) 中的语法错误
- 使用 FFMPEG 将每个输入图像转换为 H264 编译时出错,该图像在 MevisLab 中运行的 Visual St
- 将字符串数组作为输入时出错
- 迭代映射以获取输入时出错
- 保护输入和输出文件描述符时出错