- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的代码:
#include <iostream>
#include <algorithm>
using namespace std;
void input_guess_number(int guess_number[]){
int num, check = 0;
for(int i = 0; i < 4; i++){
cout << "please enter no." << i+1 << " number (0-9) and press enter: ";
cin >> num;
if (any_of(begin(guess_number), end(guess_number), [=](int n){return n == num;})){
check = 1;
}
else{
check = 0;
}
if (check == 1){
cout << "\nyou cannot use this number. try another one!\n\n";
i--;
}
else if (num >=0 && num < 10){
guess_number[i] = num;
}
else{
cout << "\nwrong number! please choose a number from 0 to 9.\n\n";
i--;
}
}
cout << "\nYour number is: ";
for(int i = 0; i < 4; i++){
cout << guess_number[i];
}
}
int main()
{
int guess_number[4] = {100, 100, 100, 100};
input_guess_number(guess_number);
}
如果我将所有代码都放在 main() 中,它们会工作得很好。
现在我试图将它们放入函数 input_guess_number,这样 main() 会更小。但是发生了一些事情。他们无法工作。
有人知道如何改进吗?谢谢。
最佳答案
问题是,一旦您将数组传递给函数,它就会衰减为指向其第一个元素的指针。您不能真正使用指针的 begin
和 end
。而是将数组的大小(元素数)作为额外参数传递给函数,并使用 guess_number
作为起始迭代器,使用 guess_number + size_of_array
作为结束迭代器。
或者开始使用std::array
代替你的数组。
关于C++ 如何使用 any_of 查找函数中的重复数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38207682/
我正在尝试检查一个字符串以查看它是否满足所有要求,而这些要求之一是没有'*'或'%'。使用std::any_of检查整个字符串,并使其与isupper和islower一起使用,但无法为这2个字符弄清楚
这是我的代码: #include #include using namespace std; void input_guess_number(int guess_number[]){ in
我有一个过滤函数列表。如果这些函数中的任何一个返回“true”,我就不应该进一步处理事件。 std::any_of 似乎适合这个用例,但我希望保证过滤器函数按照它们添加到我的列表中的顺序被调用(因为它
于是我尝试使用Boost Hana的any_of方法,但是和实现中的描述不同的是,它仍然调用最先满足predicate的元素之后的元素。这是已知错误吗? 这是一个 MCVE : #include #
C++11 介绍 any_of至algorithm秒。 这似乎与 find_if 完全一样. 假设我有一个仿函数:function foo;还有一个数组:vector bar; 这两个调用似乎做了完全
我想检查 vector 中是否存在某个值。它最有可能位于 vector 的末尾,使用像这样的反向迭代器是否有意义: std::vector v{}; //... add a lot of values
考虑这段代码: #include #include #include struct Animal { virtual ~Animal() = default; }; struct Dog : A
我有一个需要运行 MongoDB 查询的要求,如下所示: db.collection.find({ $or : [{"field1" : "value1"}, {"field2" : "value2"
给定以下代码, std::vector numbers = {1, 2, 3, 4, 5}; std::any_of(std::begin(numbers), std::end(numbers),
所以我正在尝试使用 std::any_of()函数,但是 C++ Builder 6 说有一个错误: [C++ Error] Unit1.cpp(93): E2316 'any_of' is not
我无法在 for 循环 和 std::any_of 之间做出决定,例如: QString fileName = "Whatever"; // might contain a key-string w
我将 MongoDB 与 Mongoid 一起使用,并在我们查看权重等之前尝试将基本搜索作为占位符。any_of 方法似乎正在查找我的嵌入式文档,但不是那些由关系联系起来。有谁知道 any_of 是否
我遇到了 mongoid any_of 的问题。我正在尝试查找一个字段 > 0 或另一个字段 > 0 的对象。我的查询是: Model.any_of(best_friend_method.gt =>
一段工作代码: std::vector::iterator it = std::find_if(intersections.begin(), intersections.end(), [&](cons
我有一个与 STL 算法相关的问题。 来自 http://www.cplusplus.com/reference/algorithm/我看到 any_of()、all_of() 和 none_of()
假设我有一个std::vector并想知道它是否包含 3或者将迭代器获取到 3 。 我不想使用std::set或std::multiset无论出于何种原因。 我想在 std::execution::p
我正在使用带有太阳黑子 solr 的 rails 4.0。我希望这样做: (read_flag IS TRUE) OR ( (read_flag IS NIL) AND (fulltext param
我有以下类(class): Class Foo { public: bool operator ==(const Foo& f); ... private: set> poin
这是我最近在 VS2012 中编写的一些代码: ///Lambda: Returns true if the field is significant within a baseline co
我有这样的设置模型数据 [52] pry(main)> Setting.all.to_a => [#, #, #, #] 现在我想要一组具有特定类(class)的
我是一名优秀的程序员,十分优秀!