Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
1

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

19.11.2012, 21:02. Просмотров 1103. Ответов 11
Метки нет (Все метки)

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

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

Строка символов. Все вхождения ‘abc’ заменить на ‘def’
Дана строка символов. Необходимо все вхождения ‘abc’ заменить на ‘def’

Заменить в строке все вхождения abc на 123
Попросили сделать простейшую программку (по информатике), вроде как шарю, но...

Заменить все вхождения строки s2 в строку s1 на строку s3
Дано три строки s1, s2, s3. Заменить в строке s1 все вхождения s2 на s3. ...

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

11
castaway
Эксперт С++
4932 / 3038 / 454
Регистрация: 10.11.2010
Сообщений: 11,117
Записей в блоге: 10
Завершенные тесты: 1
19.11.2012, 21:12 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++;
}
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
20.11.2012, 18:57  [ТС] 3
а еще есть варианты....
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 12:24  [ТС] 4
что означает строка:

Цитата Сообщение от lazybiz Посмотреть сообщение
char *s = ...
0
castaway
Эксперт С++
4932 / 3038 / 454
Регистрация: 10.11.2010
Сообщений: 11,117
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 12:41 5
Означает допиши то что сам хочешь; Заполни строку по своему усмотрению.
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 14:22  [ТС] 6
а втрая строка в коде что значит?
0
castaway
Эксперт С++
4932 / 3038 / 454
Регистрация: 10.11.2010
Сообщений: 11,117
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 14:29 7
Это не строка, а указатель на строку. Я его использую чтобы не изменять оригинальный указатель.
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
25.11.2012, 14:32  [ТС] 8
спасибо, т.е. в первой строке вместо многоточия можно сразу написать элементы строки??
0
castaway
Эксперт С++
4932 / 3038 / 454
Регистрация: 10.11.2010
Сообщений: 11,117
Записей в блоге: 10
Завершенные тесты: 1
25.11.2012, 14:35 9
Да, можно написать сразу.
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
27.11.2012, 18:34  [ТС] 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");}
0
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3017 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
27.11.2012, 18:41 11
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
scanf("%s", &s);
в соседней теме как раз обсуждается, что так писать не корректно.

Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
препод не принял твое решение
Если не секрет, почему не принял и почему его решение правильное?
0
den4ik_fpmi
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
27.11.2012, 18:58  [ТС] 12
для меня это тоже секрет, но исправить пришлось много, а насчет scanf то все вроде нормально, так как строка заканчивается пробелом
0
27.11.2012, 18:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 18:58

Найти в исходной строке все вхождения заданной подстроки и заменить их на другую строку
Найти в исходной строке все вхождения (но не более девяти) заданной подстроки и...

Даны строки s, s1 и s2. Заменить в строке s все вхождения строки s1 на строку s2
Даны строки s, s1 и s2. Заменить в строке s все вхождения строки s1 на строку...

Даны строки s, s1 и s2. Заменить в строке s все вхождения строки s1 на строку s2
Даны строки s, s1 и s2. Заменить в строке s все вхождения строки s1 на строку...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru