如何将两个数组的负数合并为一个数组?

Pr0t3

我需要合并两个数组中的负数。所以我在做什么:向数组中添加所需的元素,然后尝试添加到<0的合并数组元素中。这是我的尝试代码:

int main()
{

    int arr1[100], arr2[100], size1, size2, size, i, j, k, merge[200];
    cout<<"Enter Array 1 Size : ";
    cin>>size1;
    cout<<"Enter Array 1 Elements : ";
    for(i=0; i<size1; i++)
    {
        cin>>arr1[i];
    }
    cout<<"Enter Array 2 Size : ";
    cin>>size2;
    cout<<"Enter Array 2 Elements : ";
    for(i=0; i<size2; i++)
    {
        cin>>arr2[i];
    }
    for(i=0; i<size1; i++)
    {
        if(arr1[i]<0)
        {
          merge[i]=arr1[i];
        }

    }

    size=size1+size2;
    for(i=0, k=size1; k<size && i<size2; i++, k++)
    {
         if(arr2[i]<0)
        {
        merge[k]=arr2[i];
        }
    }
    cout<<"Now the new array after merging is :\n";
    for(i=0; i<size; i++)
    {
        cout<<merge[i]<<" ";
    }

}

编译后,我得到了错误的合并数组。它同时打印所有负数和所有正数(但随机数2084562等)。也许您知道哪里出了问题以及如何解决?

暗影狼

设置合并数组元素的2个循环中存在逻辑错误。每当值不为负时,它们就会跳过混合数组中的索引。跳过的值在打印时仍未初始化,因此从理论上讲它们可以是任何值(实际上是未定义的行为)。

解决此问题的一个示例可能是创建一个整数,该整数对合并数组集中的元素数量进行计数。例如:

int negativecount = 0;
for(i=0; i<size1; i++)
{
    if(arr1[i]<0)
    {
      merge[negativecount++]=arr1[i];
    }
}
size=size1+size2;
for(i=0; i<size2 && negativecount < size; i++)
{
    if(arr2[i]<0)
    {
        merge[negativecount++]=arr2[i];
    }
}

这样,您将跟踪已经存储的元素数量,并且所有元素都将正确设置。您可以使用以下命令打印它们:

for(i = 0; i < negativecount; ++i)
{
    std::cout << merge[i] << " ";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将两个数组合并为一个数组?

来自分类Dev

如何将两个数组合并为一个嵌套数组?

来自分类Dev

如何将两个数组合并为一个对象

来自分类Dev

如何将两个数组缓冲区合并为一个?

来自分类Dev

如何将两个数组列表按升序合并为一个

来自分类Dev

如何将两个数组缓冲区合并为一个?

来自分类Dev

如何将两个数组合并为一个 php

来自分类Dev

php - 如何将最后两个数组元素合并为一个数组元素

来自分类Dev

如何将两个数组(歌曲和标题)合并为一个多维数组?

来自分类Dev

将两个数组合并为一个数组列表

来自分类Dev

python:将两个数组合并为一个数组

来自分类Dev

如何将2个数组合并为一个数组?

来自分类Dev

如何使用.map和.filter将两个数组合并为一个

来自分类Dev

按顺序将两个int数组合并为一个数组

来自分类Dev

将两个数组合并为一个结果数组

来自分类Dev

将两个数组合并为一个2D数组-PHP

来自分类Dev

如何根据键匹配值将两个对象数组合并为一个数组

来自分类Dev

如何将2个数组合并为一个关联数组

来自分类Dev

如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

来自分类Dev

将两个数组合并为一个(追加)

来自分类Dev

将两个字段合并为一个数组

来自分类Dev

javascript:将两个数组合并为一个

来自分类Dev

使用push()将两个数组合并为一个

来自分类Dev

将两个数组元素合并为一个

来自分类Dev

如何将操作分成两个数组并存入一个数组?

来自分类Dev

如何合并两个数组并为每个迭代分配一个键

来自分类Dev

如何将3个数组合并为具有相同索引的一个数组-JavaScript

来自分类Dev

如何将 3 或 4 个数组合并为一个

来自分类Dev

将两个不同形状的Numpy数组合并为一个数组

Related 相关文章

  1. 1

    如何将两个数组合并为一个数组?

  2. 2

    如何将两个数组合并为一个嵌套数组?

  3. 3

    如何将两个数组合并为一个对象

  4. 4

    如何将两个数组缓冲区合并为一个?

  5. 5

    如何将两个数组列表按升序合并为一个

  6. 6

    如何将两个数组缓冲区合并为一个?

  7. 7

    如何将两个数组合并为一个 php

  8. 8

    php - 如何将最后两个数组元素合并为一个数组元素

  9. 9

    如何将两个数组(歌曲和标题)合并为一个多维数组?

  10. 10

    将两个数组合并为一个数组列表

  11. 11

    python:将两个数组合并为一个数组

  12. 12

    如何将2个数组合并为一个数组?

  13. 13

    如何使用.map和.filter将两个数组合并为一个

  14. 14

    按顺序将两个int数组合并为一个数组

  15. 15

    将两个数组合并为一个结果数组

  16. 16

    将两个数组合并为一个2D数组-PHP

  17. 17

    如何根据键匹配值将两个对象数组合并为一个数组

  18. 18

    如何将2个数组合并为一个关联数组

  19. 19

    如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

  20. 20

    将两个数组合并为一个(追加)

  21. 21

    将两个字段合并为一个数组

  22. 22

    javascript:将两个数组合并为一个

  23. 23

    使用push()将两个数组合并为一个

  24. 24

    将两个数组元素合并为一个

  25. 25

    如何将操作分成两个数组并存入一个数组?

  26. 26

    如何合并两个数组并为每个迭代分配一个键

  27. 27

    如何将3个数组合并为具有相同索引的一个数组-JavaScript

  28. 28

    如何将 3 或 4 个数组合并为一个

  29. 29

    将两个不同形状的Numpy数组合并为一个数组

热门标签

归档