この関数は、すべての番号1、... x-1が配列内にあるような可能性のある最大値xを計算します。 {1,3,2,5} - > 4.関数はゼロを持つ配列に対しては機能しません。それは常に1を返します。それはなぜですか?ソートされた数のシーケンスをチェックするとき配列のサブシーケンス
int array(int* t, int r)
{
for (int x = 0; x < r; x++)
{
for (int y = 0; y < r-1; y++)
{
if (t[y] > t[y+1])
{
int temp = t[y+1];
t[y+1] = t[y];
t[y] = temp;
}
}
}
for (int i = 0; i != r; i++)
{
if (t[i] != (i + 1))
{
return i+1;
}
}
return r+1;
}
私はあなたの要件を完全に理解していません。 'Z'と' x'の関係はどうですか? –
Typo。私の間違い。 – vforbiedronka
このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –