すべての実数を配列に配置するプログラムを作成しようとしています-数値の順序付けは別の関数で行われます-降順になり、それらを出力します。
以下は、これまでのプログラムですが、コンパイラによると、2 つの問題があります。 (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*)'
" が得られます。
これら 2 つのエラーが発生する理由はよくわかりませんが、解決するための助けが必要です。
#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;
}