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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Никитах
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 10
#1

В строке удвоить все символы ‘&’ - C++

08.03.2013, 17:47. Просмотров 331. Ответов 3
Метки нет (Все метки)

В строке удвоить все символы ‘&’. Под вставкой символа n в строку после k-го элемента понимается смещение всех элементов, начиная с (k+1)-го вправо на 1 позицию и присваивание (k+1)-му элементу строки значения n
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2013, 17:47     В строке удвоить все символы ‘&’
Посмотрите здесь:

Удвоить все символы «!» в строке - C++
Вводится строка. Удвоить все символы «!» в строке.

Удвоить все символы в строке, не равные заданному - C++
не используя строковых функций. Например, char str="AABBCCAdd", simv=A; получим AABBBBCCCCAdddd Добавлено через 1 час 25 минут ...

Удвоить символы в строке - C++
Вводится строка. Удвоить все символы «!» в строке. Не работает, где у меня ошибка? #include <iostream> #include <stdio.h> #include...

Удалить все символы "*", а символы, не являющиеся "*", удвоить - C++
Составить программу, которая вводит строку символов, выполняет ее обработку и затем выво- дит результаты. Удалить все символы "*", а...

Удалить из строки s1 все символы, встречающиеся в строке s2. - C++
Удалить из строки s1 все символы, встречающиеся в строке s2 А вот здесь как подсчитать кол-во удаленных символов? Пробовал поставить в...

Удалите в строке все символы с заданным кодом - C++
Дан файл содержащий произвольный текст. Удалите в строке все символы "!". Полученный текст сохранить в другом файле

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
08.03.2013, 18:45     В строке удвоить все символы ‘&’ #2
1. Подсчитываем N - число '&' в строке. Если их нет, то и делать ничего не надо.
2. Либо увеличиваем размер строки на N, либо (проще) используем второй буфер нужного размера.
3. Для случая одного буфера в цикле 0..N-1 проходим по строке используя memmove(), сдвигая "хвост" и удваивая символ ‘&’ (в этом порядке). Следим, чтобы при сдвиге копировался и завершаюший нуль.
Никитах
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 10
08.03.2013, 19:22  [ТС]     В строке удвоить все символы ‘&’ #3
Можно код программы а то не очень дружу с с++ а очень нужна программа!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2013, 20:20     В строке удвоить все символы ‘&’
Еще ссылки по теме:

Получить все символы, расположенные до первого двоеточия в строке - C++
Даны натуральное число n, символы s1, s2, …, sn среди которых есть двоеточие. Получить все символы, расположенные до первого двоеточия ...

Удалить из первой строки все символы, содержащиеся во второй строке - C++
Ввести 2 символьные строки. Удалить из первой строки все символы, содержащиеся во второй строке. Строки до и после преобразования вывести...

В строке удалить все символы не являющиеся буквами или цифрами - C++
Помогите написать одно ( или два ) задания : 1)В строке удалить все символы не являющиеся буквами или цифрами. 2)В строке удалить...

Удалить из первой строки все символы, содержащиеся во второй строке - C++
Ввести две символьный строки. Удалить из первой строки все символы, содержащиеся во второй строке. Строки до и после преобразования вывести...

Удалить из первой строки все символы, содержащиеся во второй строке - C++
Ввести 2 символьные строки. Удалить из первой строки все символы, содержащиеся во второй строке. Строки до и после преобразования вывести...

Найти все символы, которые встречаются в строке более двух раз - C++
Парни помогите нужно написать в C++ Builder "Найти все символы, которые встречаются в строке более 2ух раз" Должна быть посимвольная...


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

Или воспользуйтесь поиском по форуму:
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
08.03.2013, 20:20     В строке удвоить все символы ‘&’ #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Из того, что под рукой. Пример вставки в динамический массив (коллекция указателей):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
bool Vector::InsertAt
(
   DWORD                dwIndex,
   const void* const    pItem
)
{
   if (dwIndex > _dwSize)
   {
      return false;
   }
 
   if (_dwCount == _dwSize)
   {
      if (!_bGrow)
      {
         return false;
      }
               
      if (!Resize(_dwSize + _wDelta))
      {
         return false;
      }
   }
 
   if (_dwCount > dwIndex)
   {
      int   iLen = (_dwCount - dwIndex) * (int)sizeof(void*);
 
      memmove(&_pItems[dwIndex + 1],&_pItems[dwIndex],(DWORD)iLen);
   }
 
   ++_dwCount;
 
   _pItems[dwIndex] = (void**)pItem;
 
   return true;
}
В данном случае, реаллокация (при необходимости) выполняется вызовом Resize(), вам проще сразу увеличить размер строки.
Yandex
Объявления
08.03.2013, 20:20     В строке удвоить все символы ‘&’
Ответ Создать тему
Опции темы

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