// #include <iostream> #include <string> using namespace std; int main() { int b = 1; string a ; int i; i = a.size(); for (i; i != 81 ; i++) a[i] = 1; for (int j = 0; ; j++) if ( a[j] and a[j + 1] and a[j +2] and a[j+3] and a[j+4] = 1) a[j - 5] = 8; a[j - 4] = 8; a.erase(3, j - 3); for (int k = 0; ; k++) if ( a[k] and a[k+1] and a[k+2] = 8) a[j - 3] = 8; a.erase(2, j - 2); cout << a; C // #include <iostream> #include <string> using namespace std; int main() { int b = 1; string a ; int i; i = a.size(); for (i; i != 81 ; i++) a[i] = 1; for (int j = 0; ; j++) if ( a[j] and a[j + 1] and a[j +2] and a[j+3] and a[j+4] = 1) a[j - 5] = 8; a[j - 4] = 8; a.erase(3, j - 3); for (int k = 0; ; k++) if ( a[k] and a[k+1] and a[k+2] = 8) a[j - 3] = 8; a.erase(2, j - 2); cout << a; сама задача , другие решения тоже приму ошибки такие помогите горе програмисту
Привет, МЭЙБИ_БЭЙБИ! Давай попробуем помочь с этой задачей. В коде есть несколько ошибок, которые нужно исправить: 1. Переменная `a` инициализируется как пустая строка, но затем ты пытаешься обращаться к её элементам, что вызовет ошибку. Нужно сначала задать размер строки. 2. Операторы присваивания в условиях `if` должны быть заменены на операторы сравнения. Например, `a[j + 4] = 1` должно быть `a[j + 4] == 1`. 3. В циклах `for` отсутствуют условия выхода, что приведет к бесконечным циклам. Нужно добавить условия выхода. 4. В строках `a[j - 5] = 8;` и `a[j - 4] = 8;` ты пытаешься присвоить `8` символу строки, но это не будет работать, так как `8` не является символом. Нужно использовать `'8'`. Вот исправленный код: #include <iostream> #include <string> using namespace std; int main() { string a(81, '1'); // Инициализируем строку из 81 символа '1' for (int j = 0; j < a.size() - 4; j++) if (a[j] == '1' && a[j + 1] == '1' && a[j + 2] == '1' && a[j + 3] == '1' && a[j + 4] == '1') { a[j - 5] = '8'; a[j - 4] = '8'; a.erase(j - 3, 5); j -= 5; // Возвращаемся назад, чтобы не пропустить элементы } for (int k = 0; k < a.size() - 2; k++) if (a[k] == '8' && a[k + 1] == '8' && a[k + 2] == '8') { a[k - 3] = '8'; a.erase(k - 2, 3); k -= 3; // Возвращаемся назад, чтобы не пропустить элементы } cout << a; } CPP #include <iostream> #include <string> using namespace std; int main() { string a(81, '1'); // Инициализируем строку из 81 символа '1' for (int j = 0; j < a.size() - 4; j++) if (a[j] == '1' && a[j + 1] == '1' && a[j + 2] == '1' && a[j + 3] == '1' && a[j + 4] == '1') { a[j - 5] = '8'; a[j - 4] = '8'; a.erase(j - 3, 5); j -= 5; // Возвращаемся назад, чтобы не пропустить элементы } for (int k = 0; k < a.size() - 2; k++) if (a[k] == '8' && a[k + 1] == '8' && a[k + 2] == '8') { a[k - 3] = '8'; a.erase(k - 2, 3); k -= 3; // Возвращаемся назад, чтобы не пропустить элементы } cout << a; } Попробуй этот код и посмотри, решает ли он твою задачу. Если будут ещё вопросы, не стесняйся спрашивать!
el1aron, лучше знаешь как сделай: сдавай егэ, а после него еще и вступительные пиши в конкретный вуз. Их списать проще простого хоть на 100 баллов
Лучше бы не лез, если тут такие ошибки банальные делаешь, загони в копилот, он хотябы с объяснением понятным выдаст решение
проблема в том, что он не вчитывается что происходит. если с нуля начать правильно, то можно научиться писать базу
Kalipso, проблема может быть связана с тем, что в коде есть несколько ошибок, которые мешают его корректной компиляции. Давайте разберем основные из них: 1. **Инициализация строки `a`:** - Вы пытаетесь использовать метод `size()` на строке `a`, которая не была инициализирована. Вам нужно задать начальный размер строки, например: `string a(81, '0');`. 2. **Использование оператора присваивания `=` вместо оператора сравнения `==`:** - В строках, где вы проверяете условия, например, `if (a[j] and a[j + 1] and a[j + 2] and a[j + 3] and a[j + 4] = 1)`, нужно использовать `==` вместо `=`. Правильный вариант: `if (a[j] == 1 and a[j + 1] == 1 and a[j + 2] == 1 and a[j + 3] == 1 and a[j + 4] == 1)`. 3. **Отсутствие фигурных скобок `{}`:** - После условий `if` у вас нет фигурных скобок, что может привести к неправильной интерпретации кода. Например: if (a[j] == 1 and a[j + 1] == 1 and a[j + 2] == 1 and a[j + 3] == 1 and a[j + 4] == 1) { a[j - 5] = 8; a[j - 4] = 8; a.erase(3, j - 3); } CPP if (a[j] == 1 and a[j + 1] == 1 and a[j + 2] == 1 and a[j + 3] == 1 and a[j + 4] == 1) { a[j - 5] = 8; a[j - 4] = 8; a.erase(3, j - 3); } 4. **Использование переменной `j` в последнем цикле:** - В последнем цикле вы используете переменную `j`, которая не определена в этом контексте. Вероятно, вы имели в виду `k`. Попробуйте исправить эти ошибки, и ваш код должен начать компилироваться. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!