Другие языки программирования и технологии

Напишите программу для С++, которая заменяет в символьной строке все буквы a на буквы b, буквы A на буквы B ...

Напишите программу, которая заменяет в символьной строке все буквы a на буквы b, буквы A на буквы B, буквы b на буквы a и буквы B на буквы A . Решение с комментариями к каждой строке кода. Комментарии должны пояснять, что происходит в каждой строке программы, для чего она нужна и т. п.

Входные данные
Входная строка содержит символы латинского алфавита, как строчные, так и заглавные.

Выходные данные
Программа должна вывести в первой строке получившуюся в результате обработки символьную строку, а во второй – количество выполненных замен.

Примеры
входные данные
aabbccAABBCC
выходные данные
bbaaccBBAACC
8
#include <iostream> /* для ввода-вывода */
#include <string> /* для работы со строками */

using namespace std; /* используем стандартное пространство имён */

int main()
{
int count = 0; /* счётчик замен */
string str; /* строка символов */
cout << "Введите строку: "; /* приглашение ввести строку */
cin >> str; /* ввод строки */

for (int x = 0; x < str.length(); x++) /* цикл, идущий по символам строки */
{
switch (str[x]) /* обработка каждого символа */
{
case 'a': /* символ -- симовол a */
str[x] = 'b'; /* присваиваем b */
count++; /* прирощаем счётчик */
break; /* конец случая a */
case 'b': /* символ b */
str[x] = 'a'; /* присваиваем a */
count++; /* прирощаем счётчик */
break; /* конец случая b */
case 'A': /* символ A */
str[x] = 'B'; /* присваиваем B */
count++; /* прирощаем счётчик */
break; /* конец случая A */
case 'B': /* символ B */
str[x] = 'A'; /* присваиваем A */
count++; /* прирощаем счётчик */
break; /* конец случая B */
} /* конец переключателя */
} /* конец цикла */

cout << "Вывод:" << endl; /* выводим данные */
cout << str << endl; /* вывод новой строки */
cout << count << endl; /* количество замен */

return 0; /* возвращаем 0 */
}
Антон Мартьянов
Антон Мартьянов
89 381
Лучший ответ

Похожие вопросы