C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.80043 の関連記事表示

<< 0 >>
■80043  Re[4]: 戻り値
□投稿者/ 774RR -(2016/06/06(Mon) 13:34:24)
    > 課題の行間を埋めてわけのわからん回答を書きたくなる衝動に
    かられますねぇ。
    出題者の想定の斜め上を行く答を考えたくなります。
    まあ求人さんの元ネタについては 80026 にて真っ当な答が出てますのでそれ以上突っ込まないことにします。
    
    ここの元発言には2個ではなく複数のとあるので dixq のところとは別ネタなのかもしれません。
    stackoverflow とここは同じネタのように読み取れます。
    
    複数=任意個数ということは可変長引数が必要なのかもしれません。
    「より大きな」という文言は「最大値1個」ではなくて「特定値より大きいもの全て」かもしれません。
    とまあこんな感じで元発言はどうにでも解釈できるので
    stackoverflow のほうは真剣な悪ノリ回答が付いた上で「改善待ち」になってます。
    
    とりあえずオイラもこっち(わんくま)で真剣な悪ノリ回答を試みてみましょう。
    あえてコメント無しあえて C++ っつことで。
    
    #include <cstdarg>
    #include <stdexcept>
    int maxofn(int argcount, ...) {
        if (argcount<=0) throw std::invalid_argument("argcount must be >0");
        va_list va;
        va_start(va, argcount);
        int max_value_candidate=va_arg(va, int);
        for (int i=1; i<argcount; ++i) {
            int v=va_arg(va, int);
            if (v>max_value_candidate) max_value_candidate=v;
        }
        va_end(va);
        return max_value_candidate;
    }
    
    // throw invalid_argument にするか assert にするかが悩みどころ。
    // 皆様ならどうしますか? ってのは別スレッドにて意見募って見ましょうか・・・
    
記事No.80023 のレス /過去ログ136より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -