0
3つのhelpers.cプログラムを設定しました。これはhaystackの合計10個まで完璧に機能しますが、Control-Dを押すと動作が停止します。乾草の10。代わりに、プログラムは行をスキップし、私は自由にパッドのように書くことができます。 haystacksでは3または4を渡すことができないので、私のプログラムはCheck50に合格できません。誰にもこの問題の解決策がありますか?あなたは私のコードを必要とする場合にはCS50x pset3
は、ここにある:
bool search(int value, int values[], int n)
{
if(value < 0)
{
return false;
}
for(int i = 0; i < n; i++)
{
if (value == values[i])
{
return true;
}
}
return false;
}
/**
* Sorts array of n values.
*/
void sort(int values[], int n)
{
bool tf;
do
{
tf = false;
for(int i=0; i < n-1; i++)
{
if(values[i] > values[i+1])
{
int temp = values[i];
values[i] = values[i+1];
values[i+1] = temp;
tf = true;
}
}
}
while(tf == false);
return;
}
ありがとうございます。 2番目の "j"ループを作ることによって、正しい軌道に乗ることができますか? –
はい、種類はありませんし、何も使用していないwhileループを削除します。 –
@SamuelHanssenまた、[bubble-sort](http://pastebin.com/sheqN11j)の非常に一般的なアルゴリズムであるスワップ検出と一緒に、降順で上下限とinner-forを持つouter-whileを使用することもできます。 – WhozCraig