我正在尝试创建一个程序,它将所有实数放在一个数组中 - 数字的排序发生在一个单独的函数中 - 降序排列,然后打印出来。
以下是我目前拥有的程序,但根据编译器的说法,它有两个问题:(i)在第 22 行("return N[t];"
),我得到“ error: invalid types 'double*[double]' for array subscript
”。
(ii) 在第 28 行 (" cout << sort_array(Q[100]) << " " "
),我得到 " error: cannot convert 'double' to 'double*' for argument '1' to 'double* sort_array(double*)'
"。
我不太明白为什么会出现这两个错误,但我希望得到一些帮助来解决它们。
#include <iostream>
#include <cstdlib>
using namespace std;
double *sort_array (double *N) {
double t;
int size=100, a, b;
for (t=0; t<size; t++)
*N = rand()%250;
for (a=1; a<size; a++) {
for (b=size-1; b>=a; b--) {
if (N[b-1] < N[b]) {
t = N[b-1];
N[b-1] = N[b];
N[b] = t;
}
}
}
return N[t];
}
int main()
{
double Q[100];
cout << sort_array(Q[100]) << " ";
cout << endl;
return 0;
}