Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/26: Рейтинг темы: голосов - 26, средняя оценка - 4.77
Sammi2186
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 99
1

Как вставить символ в строку?

18.09.2013, 22:50. Просмотров 4717. Ответов 3
Метки нет (Все метки)

Здравствуйте, скажите, пожалуйста, какие существуют элементарные способы вставки символа в строку? Есть массив из символов. Пробегаю циклом for каждый символ. Если очередной символ есть точка, то после нее необходимо вставить пробел. Как это сделать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 22:50
Ответы с готовыми решениями:

Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0
Задание :Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S ...

Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0. ...

Изменить код. Даны две строки и символ С. Перед каждым вхождением c в строку S вставить строку S0
Есть рабочий код, но нужно избавиться от указателей #include <stdio.h> #include <string.h>...

Как узнать - входит ли символ в строку?
Здравствуйте! Как можно опеределить есть ли вхождение символа в строку? #include<stdio.h>...

Перед каждым вхождением символа C в строку S вставить строку S0
Гайз, прошу вашей помощи. Пытаюсь решить следующую задачу: "Дан символ C и строки S, S0. Перед...

3
palva
3206 / 2312 / 476
Регистрация: 08.06.2007
Сообщений: 8,347
Записей в блоге: 4
18.09.2013, 23:22 2
Строка у вас это массив символов char. Чтобы вставить символ, нужно часть строки, идущую после точки, сдвинуть на один символ вправо, чтобы освободилось место под пробел и записать в освободившееся место сам пробел. Для этого необходимо, чтобы в массиве было достаточно места, чтобы при сдвиге массив не наехал на другие данные. Не забудьте также о нуле, который должен завершать строку. Сдвиг массива символов экономнее всего осуществлять функцией memmove.
1
Sammi2186
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 99
18.09.2013, 23:27  [ТС] 3
Спасибо большое. Всё учту.
0
Байт
Эксперт C
20467 / 12992 / 2733
Регистрация: 24.12.2010
Сообщений: 27,191
20.09.2013, 15:33 4
Способ, предложенный palva, конечно работает, но крайне не эффективен.
Если память позволяет (или не запрещено по условию задачи), следует создать еще одну строку (в 2 раза больше исходной) и просматривая исходную строку, писать в нее символ за символом.
Вечная дилемма программирования "память - скорость".
2
20.09.2013, 15:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2013, 15:33

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Собственно задание Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый...

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

В конце каждой строки вставить заданный символ
Написать программу, выполняющую посимвольную обработку текстового файла (табл. 8). Ввод параметров...


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

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

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