我创建了bubblesort,我想我也有平均值。不确定。但我需要将它实现到我的主要功能中,我不知道该怎么做。现在有点卡住了。任何帮助都会很棒。谢谢!
编写一个动态分配足够大的数组的程序 保持用户定义的测试分数。
输入所有分数后,应将数组传递给a 函数(您创建)作为指针按升序对其进行排序。 此函数可以命名为sortArray,并将采用两个参数: (double * anArray,int size)。如果是,该函数将返回true 数组已排序,否则为false(例如,如果大小< = 0)
应创建另一个计算平均分数的函数 数组中的项目。该功能将包含两个参数 (double * anyArray,int size)并将平均值作为double返回。
程序应显示已排序的分数和平均值数组 有适当的标题。
尽可能使用指针表示法而不是数组表示法。
scala> res0(0) + 2 == res0(0 + 1)
res5: Boolean = true
答案 0 :(得分:1)
你在sortarray 函数中使用了 bool并且它永远不会返回任何值,所以使它无效并且你在排序数组中使用 int temp 它必须是 double ,我修复了你使用这段代码。 顺便说一下你没有调用函数,你忘了在排序后打印数组的值。
#include <iostream>
#include <iomanip>
using namespace std;
bool sortArray(double* anArray, int size);
double averageArray(double* anyArray, int size);
int main()
{
double* anArray;
double total = 0.0;
double average;
int scores;
int count;
cout << "How many test scores are you entering?: ";
cin >> scores;
anArray = new double[scores];
cout << "Enter test scores: ";
for (count = 0; count < scores; count++)
{
cout << "Test Score " << count + 1 << ": ";
cin >> anArray[count];
}
sortArray(anArray, scores);
for (count = 0; count < scores; count++)
{
cout << anArray[count] << "\n";
}
cout << averageArray(anArray, scores);
system("pause");
return 0;
}
bool sortArray(double* anArray, int size)
{
bool sort = false;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size - 1; j++)
{
if (anArray[j] > anArray[j + 1])
{
sort = true;
double temp = anArray[j];
anArray[j] = anArray[j + 1];
anArray[j + 1] = temp;
}
}
}
return sort;
}
double averageArray(double* anyArray, int size)
{
double count = 0.0;
for (int i = 0; i < size; i++)
{
count += anyArray[i];
}
return (count / (double) size);
}