C++ C++;将最小的(2个数组中的)数组编号放入第3个数组[i]

C++ C++;将最小的(2个数组中的)数组编号放入第3个数组[i],c++,arrays,function,C++,Arrays,Function,我一直在尝试做一个小程序,它允许用户在2个数组中分别输入5个数字。完成后,应该有一个函数比较两个数组的[i]个数,并将较大的一个放入第三个数组 e、 g阵列1[0]=2;阵列2[0]=5 这将导致数组3[0]=2 尝试使用函数来实现它,但由于某种原因,所有数组3[i]的结果都等于5 这是我的密码: #include <iostream> using namespace std; int array1[5], array2[5], array3[5]; void insert(i

我一直在尝试做一个小程序,它允许用户在2个数组中分别输入5个数字。完成后,应该有一个函数比较两个数组的[i]个数,并将较大的一个放入第三个数组

e、 g阵列1[0]=2;阵列2[0]=5

这将导致数组3[0]=2

尝试使用函数来实现它,但由于某种原因,所有数组3[i]的结果都等于5

这是我的密码:

#include <iostream>

using namespace std;

int array1[5], array2[5], array3[5];

void insert(int[], int);
float initialization(int[], int[], int[], int);


int main()
{
    const int size = 5;

    insert(array1, 5);
    cout << endl;
    insert(array2, 5);

    for (int i = 0; i < size; i++)
    {
        cout << "The " << i + 1 << ". number of the 3rd array is: " << initialization(array1, array2, array3, size) << endl;
    }

    system("PAUSE");
    return 0;
}

void insert(int array[], int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << "Enter the " << i + 1 << ". number of the array: ";
        cin >> array[i];
    }
    cout << "\n";
}

float initialization(int array1[], int array2[], int array3[], int size)
{
    int r;
    for (int i = 0; i < size; i++)
    {
        r = i;
        if (array1[i] < array2[i])
        {
            array3[i] = array1[i];
        }
        else
        {
            array3[i] = array2[i];
        }

    }

    return array3[r];
}
#包括
使用名称空间std;
int array1[5],array2[5],array3[5];
无效插入(int[],int);
浮点初始化(int[],int[],int[],int);
int main()
{
常数int size=5;
插入(第1、5列);

cout在函数
初始化中
返回数组3[r]
时,
r
的值始终为5

这甚至不是有效的内存访问(即,
array3[5]
is UB)

摆脱这个
return
语句,在
main
函数中只需执行以下操作:

initialization(array1, array2, array3, size);
cout << "The " << i + 1 << ". number of the 3rd array is: " << array3[i] << endl;
初始化(array1、array2、array3、size);

难道你需要学习如何使用调试器,在这个过程中你会学到很多东西。很抱歉,我们不会为你这么做。
return array3[r];
--您试图返回什么?如果您仔细阅读了您的赋值,它在哪里说您必须从函数返回值?似乎初始化函数返回的是数组的第5个元素,而它本不应该返回。另外,
initialization()
可以通过三元运算符显著简化。
array3[i]=(array1[i]
不过,人们可能会发现那样读起来比较困难。@JustinTime是的,尽可能高效地暂停是很重要的。我设法解决了问题。谢谢你的帮助。真不敢相信我竟然没有注意到。