q.整数の配列をランダムな順序で取り、配列内の重複する整数をすべて削除する「remove_duplicates」という名前の関数を含むプログラムを作成します。この関数は 3 つの引数を取る必要があります。
- (読み取ってメインに入力する) 整数の配列
- 配列のサイズ。
重複なしで配列内の値の数を示すために main に出力される、参照によって渡される変数。関数は値を返すべきではありませんが、重複する整数が削除された場合、関数はそれをカウントする必要があるため、新しい値は配列内の個別の整数の数を示します。関数に渡される配列が次のようで、関数に渡される配列のサイズが 10 であるとします。
0 1 2 3 4 5 6 7 8 9 58 | 26 | 91 | 26 | 70 | 70 | 91 | 58 | 58 | 66
この関数は、配列を次のように変更する必要があります。
0 1 2 3 4 5 6 7 8 9
58 | 26 | 91 | 70 | 66 | ?? | ?? | ?? | ?? | ??
そして、distinct カウンターの値を 5 になるように変更する必要があります。5 番目のセルの後のセルのクエスチョン マークは、関数が戻るときに、それらのセルに含まれる数値は問題にならないことを示しています。
私の機能に何か問題があります
void remove_duplicates ( int h[] ,int n ,int &count ){
count = 0;
int a[100];
for (int i = 0 ; i < n ; i++ )
for(int j = i ; j<n ; j++){
if(h[i]!=h[j])
a[i]=h[i];
else
count++;