Логика, лежащая в основе функций
Я пытаюсь понять логику этих двух функций C++, особенно ту часть, где
если (текст[я+Дж] == слово[Дж])
текст[k+i] = '*'
эти две функции создаются для изменения брокколи на звездочку * в предложении.Заранее большое вам спасибо.
std::string word = "broccoli"; std::string sentence = "I sometimes eat broccoli. The interesting thing about broccoli is that there are four interesting things about broccoli."; <pre>#include <string> void asterisk(std::string word, std::string &text, int i) { for (int k = 0; k < word.size(); ++k) { text[k+i] = '*'; } } void bleep(std::string word, std::string &text) { for (int i = 0; i < text.size(); ++i) { int match = 0; for (int j = 0; j < word.size(); ++j) { if (text[i+j] == word[j]) { ++match; } } if (match == word.size()) { asterisk(word, text, i); } } }
Что я уже пробовал:
в этом коде нет ничего плохого.
KarstenK
Это не "магия", а некоторые операторы, которые делают свою работу ;-)