数组家庭作业问题需要帮助

Array homework question need help

本文关键字:帮助 问题 家庭作业 数组      更新时间:2023-10-16

这是个问题: 为名为 findGreatest 的函数编写一个完整的函数定义,该函数接受 int 数组作为参数,并接受数组大小作为另一个参数。该函数应使用 return 语句返回数组中的最大值。

这是我的粗略代码:

int findLargest()
{
    int size;
    cout << "Enter size of array" << endl;
    cin >> size;
    int i;
    int numArray [size];
    {
        for (i = 1; i < size; index++);
        {
            cout << "Enter " << i << "number" << endl;
            cin >> numArray [i];
        }
        }
int findLargest = numArray[1]
    int t;
        for (t = 2; t < 2 size ; index++);
        {
            if numArray[t] < findLargest 
            {
                findLargest = numArray[t];
            }
        }
    cout << "Your highest number is " << findLargest;
}

如果有人能帮助提供正确的解决方案,那就太好了。

你可以先findLargest(Your parameters here)编写函数,然后使用预先初始化的数组调用该函数(例如 int myArray[10] = {1,2,3,4,5,6,7,9,0}; findLargest(myArray, 10) ) 来测试它是否有效。这样,您就不需要从标准输入中读取数组的内容,而是专注于作业中的问题。

在C++中,你不能这样做:

int numArray [size];

因为数组维度必须是编译时常量,尽管如果您使用的是 GCC,它可能会编译。相反,请调查标准C++功能的使用情况,std::vector

如果您要求用户输入数组的大小,则需要创建一个动态数组。

int size = 0;
cin >> size;
int *a = null; //could use any data type
a = new int[size]; 

在计划结束之前,

delete a[];

您还没有正确的参数。

编写完整的函数定义 对于名为 findGreatest 的函数 接受 int 数组作为参数 并接受数组大小作为另一个数组大小 参数。

int findLargest(int theArray[], int size);

接下来,您必须弄清楚如何遍历整个数组:

for(int i=0; i<size; ++i)

接下来,确定每个元素是否是最大的元素:

int max = theArray[0];
if (theArray[i] > max)   max = theArray[i];

完成后,返回找到的最大值。

return max;

然后,将所有部分组合在一起:

int findLargest(int theArray[], int size)
{
    int max = theArray[0];
    for(int i=0; i<size; ++i)
    {
        if (theArray[i] > max)   max = theArray[i];
    }
    return max;
 }

如果你想走得更远,请测试你的函数。

int main(void)
{
    int testA[6] = {4, 10, 3, 6, 5, 9};  // Answer should be 10.
    int testB[5] = {-8, -5, -1, -7, -6}; // Test of negative numbers.
    int testC[4] = {0, 0, 0, 0};         // Test of zero and repeating numbers.
    cout << "Largest in A is " << findLargest(testA, 6);
    cout << "Largest in B is " << findLargest(testB, 5);
    cout << "Largest in C is " << findLargest(testC, 4);
}

首先,赋值很清楚,你必须为此任务定义一个函数,并且不能在main()内部执行此操作:

int findLargest(int* array, int size)
{
    int largest = 0;
    for (int i = 0; i < size; i++)
    {
        if (array[i] > largest)
            largest = array[i];
    }
    return largest;
}
int main()
{
    int my_array[9] = { 1, 2, 3, 4, 5, 50, 6, 7, 8 } ;
    cout << "* Largest: " << findLargest(my_array, 9) << endl;    
}