#include <iostream>
using namespace std;
inline bool my_strcmp1(const char* _s, const char* _d)
{ while(*_s || *_d)
{ if(*_s++ != *_d++) return true;
}
return false;
}
bool stringCompare(const char* s1, const char* s2) {
for(;;) {
if (*s1 != *s2) return false;
if (*s1 == 0 || *s2 == 0) return true;
++s1;
++s2;
}
}
int _strcmp(const char* a, const char* b)
{
int result = (a == nullptr)
? ((b == nullptr)
? 0 : 1)
: ((b == nullptr)
? -1: 2);
if(result == 2)
{
while(*a != '\0' && *a++ == *b++){}
--a;
--b;
result = ((*a == *b) ? 0 : ((*a < *b) ? -1 : 1));
}
return result;
}
int main()
{
// https://g...content-available-to-author-only...v.ru/flame/forum/?id=233418&page=7
cout<<((my_strcmp1("Клапауций", "Жлапауций")) ? "true" : "false")<<endl;
cout<<((my_strcmp1("Клапауций", "КлапауцийРукожоп")) ? "true" : "false")<<endl;
cout<<((my_strcmp1("Клапауций!", "КлапауцийРукожоп")) ? "true" : "false")<<endl;
cout<<((my_strcmp1("Клапауций", "Клапауций")) ? "true" : "false")<<endl;
cout<<"------------------------------"<<endl;
cout<<((stringCompare(nullptr, "ТарасРукожоп")) ? "true" : "false")<<endl;
cout<<"------------------------------"<<endl;
cout<<((_strcmp("Клапауций", "Жлапауций")==0) ? "true" : "false")<<endl;
cout<<((_strcmp("Клапауций", "ЖлапауцийРукожоп")==0) ? "true" : "false")<<endl;
cout<<((_strcmp("Клапауций!", "ЖлапауцийРукожоп")==0) ? "true" : "false")<<endl;
cout<<((_strcmp("Клапауций", "Клапауций")==0) ? "true" : "false")<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW5saW5lIGJvb2wgbXlfc3RyY21wMShjb25zdCBjaGFyKiBfcywgY29uc3QgY2hhciogX2QpCnsgICB3aGlsZSgqX3MgfHwgKl9kKQogICAgeyAgIGlmKCpfcysrICE9ICpfZCsrKSAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCgpib29sIHN0cmluZ0NvbXBhcmUoY29uc3QgY2hhciogczEsIGNvbnN0IGNoYXIqIHMyKSB7CiAgZm9yKDs7KSB7CiAgICBpZiAoKnMxICE9ICpzMikgcmV0dXJuIGZhbHNlOwogICAgaWYgKCpzMSA9PSAwIHx8ICpzMiA9PSAwKSByZXR1cm4gdHJ1ZTsKICAgICsrczE7IAogICAgKytzMjsKICB9Cn0KICAgIAppbnQgX3N0cmNtcChjb25zdCBjaGFyKiBhLCBjb25zdCBjaGFyKiBiKQp7CiAgaW50IHJlc3VsdCA9IChhID09IG51bGxwdHIpCiAgICAgICAgICAgICAgID8gKChiID09IG51bGxwdHIpCiAgICAgICAgICAgICAgICAgPyAwIDogMSkKICAgICAgICAgICAgICAgICA6ICgoYiA9PSBudWxscHRyKQogICAgICAgICAgICAgICAgICAgPyAtMTogMik7CgogIGlmKHJlc3VsdCA9PSAyKQogIHsKICAgIHdoaWxlKCphICE9ICdcMCcgJiYgKmErKyA9PSAqYisrKXt9CiAgICAtLWE7CiAgICAtLWI7CiAgICByZXN1bHQgPSAoKCphID09ICpiKSA/IDAgOiAoKCphIDwgKmIpID8gLTEgOiAxKSk7CiAgfQoKICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbigpIAp7CiAgLy8gaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi52LnJ1L2ZsYW1lL2ZvcnVtLz9pZD0yMzM0MTgmcGFnZT03CiAgY291dDw8KChteV9zdHJjbXAxKCLQmtC70LDQv9Cw0YPRhtC40LkiLCAi0JbQu9Cw0L/QsNGD0YbQuNC5IikpID8gInRydWUiIDogImZhbHNlIik8PGVuZGw7CiAgY291dDw8KChteV9zdHJjbXAxKCLQmtC70LDQv9Cw0YPRhtC40LkiLCAi0JrQu9Cw0L/QsNGD0YbQuNC50KDRg9C60L7QttC+0L8iKSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTw8ZW5kbDsKICBjb3V0PDwoKG15X3N0cmNtcDEoItCa0LvQsNC/0LDRg9GG0LjQuSEiLCAi0JrQu9Cw0L/QsNGD0YbQuNC50KDRg9C60L7QttC+0L8iKSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTw8ZW5kbDsKICBjb3V0PDwoKG15X3N0cmNtcDEoItCa0LvQsNC/0LDRg9GG0LjQuSIsICLQmtC70LDQv9Cw0YPRhtC40LkiKSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTw8ZW5kbDsKICBjb3V0PDwiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjw8ZW5kbDsKICBjb3V0PDwoKHN0cmluZ0NvbXBhcmUobnVsbHB0ciwgItCi0LDRgNCw0YHQoNGD0LrQvtC20L7QvyIpKSA/ICJ0cnVlIiA6ICJmYWxzZSIpPDxlbmRsOwogIGNvdXQ8PCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iPDxlbmRsOwogIGNvdXQ8PCgoX3N0cmNtcCgi0JrQu9Cw0L/QsNGD0YbQuNC5IiwgItCW0LvQsNC/0LDRg9GG0LjQuSIpPT0wKSA/ICJ0cnVlIiA6ICJmYWxzZSIpPDxlbmRsOwogIGNvdXQ8PCgoX3N0cmNtcCgi0JrQu9Cw0L/QsNGD0YbQuNC5IiwgItCW0LvQsNC/0LDRg9GG0LjQudCg0YPQutC+0LbQvtC/Iik9PTApID8gInRydWUiIDogImZhbHNlIik8PGVuZGw7CiAgY291dDw8KChfc3RyY21wKCLQmtC70LDQv9Cw0YPRhtC40LkhIiwgItCW0LvQsNC/0LDRg9GG0LjQudCg0YPQutC+0LbQvtC/Iik9PTApID8gInRydWUiIDogImZhbHNlIik8PGVuZGw7CiAgY291dDw8KChfc3RyY21wKCLQmtC70LDQv9Cw0YPRhtC40LkiLCAi0JrQu9Cw0L/QsNGD0YbQuNC5Iik9PTApID8gInRydWUiIDogImZhbHNlIik8PGVuZGw7CiAgCiAgCiAgcmV0dXJuIDA7Cn0=