Exes и Ohs (C++)
Вот что меня просят сделать: проверить, есть ли в строке одинаковое количество "x" и "o". Метод должен возвращать логическое значение и не учитывать регистр. Строка может содержать любой символ.
Примеры ввода / вывода:
XO("ooxx") => true
XO("xooxx") => false
XO("ooxXm") => true
XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true
XO("zzoo") => false
И это мой код:
#include <iostream>
#include <string>
using namespace std;
bool XO(const std::string& str)
{
if (str.equals("o", "x")) {
return true;
} else {
return false;
}
}
int Main() {
XO("ooxx");
XO("xooxx");
XO("ooxXm");
XO("zpzpzpp");
XO("zzoo");
}
но не работает. В чем моя проблема? Это ошибка, которую я получаю Кстати
main.cpp:12:11: error: no member named 'equals' in 'std::__cxx11::basic_string<char>'
if (str.equals("o", "x")) {
~~~ ^
1 ответ
Вам нужно посчитать, сколько
x
символы находятся в строке. Результатом будет число. Сделайте то же самое с
o
символы. Это даст вам другой номер. Проверьте, равны ли числа.