ЕГЭ через 4 дня, выручайте)) Например, дан файл в котором записано XYZZYXZZYXXZYZZXZZYYYYXZ Нужно заменить XZZY на A или AAAA с помощью цикла for ( в общем так, чтобы потом с помощью этого же цикла for можно было посчитать максимальную строку, не содержащую подстроку XZZY) Оригинальное задание: Буду очень благодарен) (если знаете, как решить эту задачу по другому, пишите, я пытаюсь и все никак не выходит))
Надеюсь работу с файлами добавишь #include <iostream> #include <string> using namespace std; int main() { string inp,out; cin >> inp; int k = 0; for(int i =0; i<inp.size(); i++) { string buff = inp.substr(i,4); if(buff=="XZZY") { out.push_back('A'); k =3; } else if(!k) out.push_back(inp[i]); else if(k) k--; } int max = 0; int buff = 0; for(int i =0; i<out.size(); i++) { if(out[i]!='A') buff++; else { if(max<buff) max=buff; buff=0; } } cout << out <<endl; cout << max; return 0; } C #include <iostream> #include <string> using namespace std; int main() { string inp,out; cin >> inp; int k = 0; for(int i =0; i<inp.size(); i++) { string buff = inp.substr(i,4); if(buff=="XZZY") { out.push_back('A'); k =3; } else if(!k) out.push_back(inp[i]); else if(k) k--; } int max = 0; int buff = 0; for(int i =0; i<out.size(); i++) { if(out[i]!='A') buff++; else { if(max<buff) max=buff; buff=0; } } cout << out <<endl; cout << max; return 0; }
Чувак все в сто раз проще, это можно решить при помощи ворда + эксель. Через расширенный поиск в ворде заменяешь строку XZZY на символ абзаца ^p , вставляешь в эксель получившиеся строки, находишь при помощи функции ДЛСТР длины этих строк, далее находишь максимальную и прибавляешь 6. Почему 6? Например: XZZYXZXZXZZY Удаляем подстроки XZZY, получаем XZXZ, но мы можем не брать первый и последний символы подстроки XZZY, и тогда получим ZZYXZXZXZZ, что ровно на 6 символов больше чем XZXZ
ReverseFlash, Думаю, что этот способ не больше времени займет, возможно даже меньше. Ну если вам программой проще, то пожалуйста, я просто предложил один из способов решения. Может быть автору темы будет проще этим способом, раз у него возникла проблема с написанием программы.