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

Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx - C++

Восстановить пароль Регистрация
 
araidna
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 5
31.10.2012, 19:59     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #1
Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx.
Например: для строки “ab<F6>cdefgh<E9><F2>ijk<asd>” - “abШcdefghжЫijk<asd>”

mozete pomocj s rewenijem etoj problemmi
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 19:59     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx
Посмотрите здесь:

C++ составить програму,удаляющую в даной строке каждый символ с четным номером
C++ Дана строка, нужно символ в этой строке заменить ее порядковым номером.
C++ Найдите во введенной строке все подстроки вида «ХХ.ХХХ.Х», где Х – цифра, и выведите их на экран
C++ Заменить каждую последовательность, содержащую более одного пробела, на один пробел
C++ Заменить последнее слово из введенной строки на последовательность символов «*»
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
31.10.2012, 20:17     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #2
Ну алгоритм простой:
1)Вычисляем скобки.
2)Получаем то что между ними.
3)Конвертируем стандартной функцией это в цифру.
4)Вставляем char символ с кодом полученным на шаге 3.
araidna
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 5
01.11.2012, 20:57  [ТС]     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #3
i kak eto zapisatj nuzno?

Добавлено через 5 часов 9 минут
Цитата Сообщение от Gepar Посмотреть сообщение
Ну алгоритм простой:
1)Вычисляем скобки.
2)Получаем то что между ними.
3)Конвертируем стандартной функцией это в цифру.
4)Вставляем char символ с кодом полученным на шаге 3.
A mozew podskazatj sapisj algoritma?
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
01.11.2012, 22:21     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #4
araidna, не, я ленивый. Покажете свои наработки и напишите что не получается тогда помогу, а полностью за вас делать задание я не буду. Полностью за вас сделать могут только во фрилансе (где впрочем я тоже появляюсь)
araidna
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 5
01.11.2012, 22:39  [ТС]     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #5
Цитата Сообщение от Gepar Посмотреть сообщение
araidna, не, я ленивый. Покажете свои наработки и напишите что не получается тогда помогу, а полностью за вас делать задание я не буду. Полностью за вас сделать могут только во фрилансе (где впрочем я тоже появляюсь)
ja ne ponimaju kak nado viceslitj eti znacenija v skobkah, kak pravilno funkciju zapisatj

Добавлено через 9 минут
Цитата Сообщение от araidna Посмотреть сообщение
ja ne ponimaju kak nado viceslitj eti znacenija v skobkah, kak pravilno funkciju zapisatj

ili kak on dolzen v stroke naiti imenno eti dvuhznacniji westnadcetiricniji cisla
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
02.11.2012, 01:29     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #6
Цитата Сообщение от Gepar Посмотреть сообщение
1)Вычисляем скобки.
1 Пока не закончилась строка
1.1смотрим на текущий символ а не скобка < ли это
1.2если скобка то делаем внутренний цикл который двигается пока не найдёт закрывающую скобку > либо конец строки
1.3 Если была найдена и скобка < и скобка > то выделяем подстроку между ними и натравливаем на это содержимое функцию atoi, указывая правильную систему исчисления последним параметром (16).
1.4 Если функция сконвертировала нормально символ то убираем содержимое между скобками и вставляем символ по коду что нам вернула atoi.

Ну коротко как-то так за исключением мелких ньансов, вы начните писать, оно понятнее станет. Если будут проблемы что что-то будет не получаться - пишите код, пишите что вы пытаетесь сделать в коде и что не получается.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.11.2012, 12:33     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <boost/regex.hpp>
 
int main()
{
   const std::string s = "ab<45>defgh<32>ijk<20><asd>";
   boost::regex re("<([1-9A-F][0-9A-F])>");
   const std::string result = 
   boost::regex_replace(s, re,  [](const boost::smatch& match)
   {
      return std::string(1, static_cast<char>(std::stoi(match[1].str(), nullptr, 16)));
   });
   std::cout << result << std::endl;
}
http://liveworkspace.org/code/bd5c8f...eebb99b940df70
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 22:11     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx
Еще ссылки по теме:

Каждую цифру заменить на заключенную в круглые скобки последовательность знаков ‘+’ C++
C++ Во введенной строке заменить все гласные латинские буквы на русские соответственно
C++ В введенной строке заменить каждую запятую и точку на точку с запятой

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

Или воспользуйтесь поиском по форуму:
araidna
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 5
02.11.2012, 22:11  [ТС]     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx #8
a jesli ja sama hocu vvesti takuju stroku, to kak legce napisatj eto zadanije?
Yandex
Объявления
02.11.2012, 22:11     Заменить во введенной строке каждую последовательность <xx> (где xx – двухзначное шестнадцатеричное число) на символ с номером xx
Ответ Создать тему
Опции темы

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