問題が..私はint
戻り値の型..hereを持つ関数からint main()
に「ボナペティ」を印刷する必要があることは私のコードです:ボナペティ:)(メインの文字列を印刷するint型の戻り値の型関数から
#include <iostream>
#include <vector>
using namespace std;
int bonAppetit(int n, int k, int b, vector <int> ar) {
// Complete this function
int sum = 0;
for(auto i : ar)
{
sum += i;
}
sum -= ar[k];
if(sum/2 == b)
cout<< "Bon Appetit"<<endl;
else
return b-(sum/2);
}
int main() {
int n;
int k;
cin >> n >> k;
vector<int> ar(n);
for(int ar_i = 0; ar_i < n; ar_i++){
cin >> ar[ar_i];
}
int b;
cin >> b;
int result = bonAppetit(n, k, b, ar);
cout << result << endl;
return 0;
}
出力にcout<<"Bon appetit"
を使用すると、return b-(sum/2)
のためにBon appetit0
と表示されます。 control reaches end of non-void function [-Werror = return type]
をので、短い中で「」私はどうすればよい: 別の問題は、文句を言わないだけでコンパイルエラーとコードとして処理されているそれ以外の場合は警告が生成され、文句を言わない私はelse
一部でreturn b/(sum)/2
を書いてみましょう私のIDEです問題の「int型の関数から)MAIN(TO文字列を返す? ()関数を使用し、メインでfirectlyコードを書くことではないことをお勧めいけないしてください。
リンク==>https://www.hackerrank.com/challenges/bon-appetit/problem
あなたは本当に「メインに文字列を」返却しようとしているか、あなただけの関数から文字列を表示したいされていますか? – jpo38
ディスプレイも動作します....私はちょうどそれをメインに印刷する必要があります.....それはあなたが "返品"を使用するか直接表示するかどうかは関係ありません。 – GeekyCoder
無関係な注記:大きな入力に対してコストがかかるベクトルコピーを避けるには、関数にベクトルを 'const 'で渡す必要があります。 – Mikhail