以下是问题: 为名为findLargest的函数编写一个完整的函数定义,该函数接受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;
}
如果有人能帮助解决那个很棒的正确解决方案。
答案 0 :(得分:4)
您可以首先编写函数findLargest(Your parameters here)
,然后使用预初始化的数组(例如int myArray[10] = {1,2,3,4,5,6,7,9,0}; findLargest(myArray, 10)
)调用该函数以测试它是否有效。这样,您就不需要从标准输入中读取数组的内容,而是专注于分配中的问题。
答案 1 :(得分:3)
答案 2 :(得分:1)
如果您要求输入数组大小的用户输入,则需要创建一个动态数组。
int size = 0;
cin >> size;
int *a = null; //could use any data type
a = new int[size];
程序结束前,
delete a[];
答案 3 :(得分:1)
你还没有正确的参数。
编写完整的函数定义 对于名为findLargest的函数 接受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);
}
答案 4 :(得分:0)
首先,分配非常明确,您必须为此任务定义一个函数,而不能在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;
}