配列内で最小の要素を見つける関数を作っています。私は変数s
を参照渡しで修正しようとしています。私はC++のブランドです。私が正しく参照渡しをしているかどうかはわかりません。誰でもこれを行う正しい方法であることを確認することができますか、参照によって渡して最小値関数にアプローチするより良い方法を提案できますか?で、その後、あなたのパスを、その値を変更しないでしょう参照渡しの変数を変更する
int main() {
int s = 0;
// call your function
cout << s << endl; // Here you print 's', thus you confirm whether you are right or not
}
s
場合:
#include <cstdlib>
#include <stdlib.h>
#include <iostream>
using namespace std;
int smallestElm(int numArray[], int length, int &smallest);
int main() {
int n[3] = {2,5,3};
int s = 0;
int length = 0;
cout << smallestElm(n, length, s) << endl;
}
int smallestElm(int numArray[], int length, int &smallest) {
smallest = numArray[0];
length = sizeof (numArray)/sizeof (int);
for (int i = 1; i < length; i++) {
if (numArray[i] < smallest) {
smallest = numArray[i];
}
cout << smallest << endl;
return 0;
}
}
std :: min [http://en.cppreference.com/w/cpp/algorithm/min]について聞いたことがありますか? – ZivS
なぜループの本体に戻るのですか? 2番目の要素を見た後に関数を終了します... – vu1p3n0x
for-loop内に戻ると、最小要素を見つける前に戻ることがあります。 なぜ、isを使用せずに関数内で長さを再計算するときに、lengthパラメータを使用していますか? – PeterO