Форум программистов, компьютерный форум CyberForum.ru

Преобразовать строку: все вхождения abc заменить на def - C++

Восстановить пароль Регистрация
 
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
19.11.2012, 21:02     Преобразовать строку: все вхождения abc заменить на def #1
написать программу
Дана строка из 80 символов, известно что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку выполнив преобразование: все вхождения abc заменить на def
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 21:02     Преобразовать строку: все вхождения abc заменить на def
Посмотрите здесь:

C++ Ввести строку и слово, удалить все вхождения слова и вывести строку
Ввести строку и два слова, заменить все вхождения первого слова на второе C++
Заменить все вхождения строки s2 в строку s1 на строку s3 C++
C++ Заменить в строке все вхождения abc на 123
C++ Строка символов. Все вхождения ‘abc’ заменить на ‘def’
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
19.11.2012, 21:12     Преобразовать строку: все вхождения abc заменить на def #2
C
1
2
3
4
5
6
7
8
9
char *s = ...;
char *p = s;
for ( char *p = s; *p ^ ' '; ) {
    if ( strncmp( p, "abc", 3 ) == 0 ) {
        *p++ = 'd';
        *p++ = 'e';
        *p++ = 'f';
    } else p++;
}
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
20.11.2012, 18:57  [ТС]     Преобразовать строку: все вхождения abc заменить на def #3
а еще есть варианты....
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 12:24  [ТС]     Преобразовать строку: все вхождения abc заменить на def #4
что означает строка:

Цитата Сообщение от lazybiz Посмотреть сообщение
char *s = ...
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 12:41     Преобразовать строку: все вхождения abc заменить на def #5
Означает допиши то что сам хочешь; Заполни строку по своему усмотрению.
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 14:22  [ТС]     Преобразовать строку: все вхождения abc заменить на def #6
а втрая строка в коде что значит?
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 14:29     Преобразовать строку: все вхождения abc заменить на def #7
Это не строка, а указатель на строку. Я его использую чтобы не изменять оригинальный указатель.
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 14:32  [ТС]     Преобразовать строку: все вхождения abc заменить на def #8
спасибо, т.е. в первой строке вместо многоточия можно сразу написать элементы строки??
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 14:35     Преобразовать строку: все вхождения abc заменить на def #9
Да, можно написать сразу.
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
27.11.2012, 18:34  [ТС]     Преобразовать строку: все вхождения abc заменить на def #10
препод не принял твое решение, выложу то которое по мнению препода верное:
C++
1
2
3
4
5
6
7
8
9
chat int n=41;
char s[n];
char *p=s;
scanf("%s", &s);
for(char *p=strstr(p,"abc"); p!=NULL;)
{*p='d';
 *(p+1)='e';
 *(p+2)='f';
p=strchr(p+3,"abc");}
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
27.11.2012, 18:41     Преобразовать строку: все вхождения abc заменить на def #11
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
scanf("%s", &s);
в соседней теме как раз обсуждается, что так писать не корректно.

Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
препод не принял твое решение
Если не секрет, почему не принял и почему его решение правильное?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 18:58     Преобразовать строку: все вхождения abc заменить на def
Еще ссылки по теме:

Заменить все первые левые вхождения символа “a” на 00, а все правые вхождения символа “a” на 11 C++
C++ Заменить в строке символ 'q' на номер вхождения в строку в обратном порядке
Найти все вхождения в строку последовательности символов "сто" и заменить на "100" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
den4ik_fpmi
1 / 1 / 1
Регистрация: 20.10.2012
Сообщений: 166
27.11.2012, 18:58  [ТС]     Преобразовать строку: все вхождения abc заменить на def #12
для меня это тоже секрет, но исправить пришлось много, а насчет scanf то все вроде нормально, так как строка заканчивается пробелом
Yandex
Объявления
27.11.2012, 18:58     Преобразовать строку: все вхождения abc заменить на def
Ответ Создать тему
Опции темы

Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru