###実現したいこと
重複している値があるかどうかを判定する関数bool had_duplicate_numbers
を作りたい。
###問題点
bool has_duplicate_numbers
関数でエラーがでてしまう。
######エラー
kadai25.cpp: In function 'bool has_duplicate_numbers(std::vector<double>&)': kadai25.cpp:26:1: warning: control reaches end of non-void function [-Wreturn-type] 26 | } | ^
このエラーについて調べてみたところreturn
がされていないと出てくるというような記述がありました。
しかし、for(i=0;i<n;i++)
の中で記述しているので何が原因なのかわかりません。
###コード
C++
1//値の重複 2 3#include<iostream> 4#include<vector> 5#include<algorithm> 6 7//vectorに重複して値が含まれているか判定する関数 8bool has_duplicate_numbers(std::vector<double>& values) 9{ 10 int i; 11 int n=values.size(); //配列のデータ数 12 //データをソートする 13 std::sort(values.begin(),values.end()); 14 15 //各隣接要素が同じ値を持つかどうか 16 for(i=0;i<n;i++){ 17 if(values[i]==values[i+1]){ 18 return true; 19 }else{ 20 return false; 21 } 22 } 23} 24 25int main() 26{ 27 int i,n; 28 std::cout<<"データ数を入力してください\n"; 29 std::cin>>n; 30 std::cout<<"データを入力してください\n"; 31 //配列の定義&入力 32 std::vector<double> data; 33 for(i=0;i<n;i++){ 34 int d; 35 std::cin>>d; 36 data.push_back(d); 37 } 38 if(has_duplicate_numbers(data)){ 39 std::cout<<"重複した値が含まれている\n"; 40 }else{ 41 std::cout<<"重複した値が含まれていない\n"; 42 } 43 return 0; 44} 45 46/*実行結果 47*/
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 03:22
2020/06/26 03:34