
Вопрос задан 01.05.2021 в 10:49.
Предмет Информатика.
Спрашивает Кусь Иоанн.
Исправить программу так,чтобы до и после каждой буквы а писалось две p Например aleksandr Выведёт
paplekspapndr Переделать код программы #include #include using namespace std; char t[500]; int main() { cout<<"t="; gets(t); for(int i=0;i int n=strlen(t); if (t[i]='a'){n+=2; for(int j=n;j>i;j--){ t[j]=t[j-2]; cout< } } } }

Ответы на вопрос

Отвечает Скудина Соня.
#include <iostream>
using namespace std;
int main()
{
string t, s="";
cout << "t = ", cin >> t, cout << endl;
for(int i=0; i<t.length(); i++)
if(t[i] != 'a') s = s+t[i];
else s = s+'p'+t[i]+'p';
cout << s << endl;
return 0;
}
Пример:
t = aleksandr
paplekspapndr
using namespace std;
int main()
{
string t, s="";
cout << "t = ", cin >> t, cout << endl;
for(int i=0; i<t.length(); i++)
if(t[i] != 'a') s = s+t[i];
else s = s+'p'+t[i]+'p';
cout << s << endl;
return 0;
}
Пример:
t = aleksandr
paplekspapndr



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот исправленный код программы:
cpp#include <iostream>
#include <cstring>
using namespace std;
char t[1000];
int main() {
cout << "t=";
cin.getline(t, 1000);
int n = strlen(t);
for (int i = 0; i < n; i++) {
if (t[i] == 'a') {
// расширяем строку на 2 символа
n += 2;
// сдвигаем символы после текущей позиции на 2 позиции вправо
for (int j = n; j > i+2; j--) {
t[j-1] = t[j-3];
}
// добавляем две 'p' после текущей позиции
t[i+1] = 'p';
t[i+2] = 'p';
// увеличиваем i, чтобы пропустить добавленные символы
i += 2;
}
}
cout << t << endl;
return 0;
}
Основные изменения, которые я внес:
- Использовал функцию
cin.getline()
вместоgets()
, так какgets()
не безопасна и устарела. - Исправил условие в строке
if (t[i] = 'a')
, заменив оператор присваивания=
на оператор сравнения==
. - Изменение длины строки перенес в начало цикла, чтобы учесть добавленные символы 'p'.
- Исправил ошибку в цикле, сдвигая символы на две позиции вправо.
- Добавил комментарии, чтобы было понятнее, что делает каждая часть кода.


Топ вопросов за вчера в категории Информатика

Информатика 565

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili