将大于k的数组元素导入到另一个数组C 中

Importing array elements greater than k into another array, C++

本文关键字:另一个 数组 导入 大于 数组元素      更新时间:2023-10-16

如何导入大于k的[n]数组元素(在这种情况下,是数组a [n]的第一个元素),并打印它们?这不起作用,你能解释我为什么吗?

#include <iostream>
using namespace std;
main() {
    int a[100], b[100], n, k, i=0;
    cin>>n;
    for (i; i<n; i++)
    cin>>a[i];
    i=0;
    k=a[0];
    for (i; i<n; i++) {
        if (a[i]>k)
        b[i]=a[i];
}
    i=0;
    for (i; i<n; i++)
cout<<b[i];
}

您的数组b输出无法完美工作的原因是,并非数组B的所有元素都在其中存储一个值。对于所有i的值,a [i]&lt; = k,b [i]将具有值0或垃圾值(取决于编译器)。

为了避免它,您应该将代码写为:

#include<iostream>
using namespace std;
main() {
    int a[100], b[100], n, k, i=0;
    cin>>n;
    for (i; i<n; i++)
    cin>>a[i];
    i=0;
    k=a[0];
    int j=0;           //another variable j for keeping track of array b
    for (i; i<n; i++) {
        if (a[i]>k) {
         b[j]=a[i];
         j++;   
        }
}
    i=0;
    for (i; i<j; i++)   //Run the value of i from i=0 to i=j
    cout<<b[i];
}
相关文章: