Ну-ка быстро написали на своем любимом языке программу, которая считает число символов 'а' в строке, которые стоят перед символом 'б' или перед несколькими подряд идущими 'а', перед которыми 'б'. "Ааа ба баа ааба" => 4
>>870481 (OP) А ты хотел вопросы по архитектуре асинхронного сервера фотографий, которые ты 100% не знаешь из-за того, что никогда такое на продакшене не писал?
>>870481 (OP) >число символов 'а' в строке, которые стоят перед символом 'б' >"Ааа ба баа ааба" >которые стоят перед несколькими подряд идущими 'а', перед которыми 'б'. >"Ааа ба баа ааба" Как я понял, условие по-человечески будет выглядеть как: "число символов а в строке слева вплотную от б" и "число символов а в строке справа вплотную от б, если символов а больше одного".
>>870481 (OP) int how_much(char *word) { int i = 0; //скок всего int n = 0; //скок ашек перед б size_t len = strlen(word); for (size_t j = 0; j < len; j++) { if (word[j] == 'a') { n++; } else { n = 0; } if (word[j] == 'б') { i = n; n = 0; } } return i; }
>>871706 ошибка на ошибке программа в принципе работать не будет, и дело далеко не только в опечатке =n -> +=n. Логика провалена полностью.
Не говоря уже о том, что в 21-м веке ни один нормальный человек не работает в кодировках cp1261, dos866 или koi8, кириллица на utf-8, на котором эта программа, очевидно, работать не будет. Привет низкоуровневым языкам из 21-го века.
"Ааа ба баа ааба" => 4