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

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

Войти
Регистрация
Восстановить пароль
 
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
#1

Строки в с++ - C++

20.10.2013, 18:12. Просмотров 283. Ответов 7
Метки нет (Все метки)

Доброго времени суток!
У меня вопрос: есть массив строк, состоящий из букв и цифр. надо переписать этот массив, при этом увеличивая цифры на 10. например, написано "njui6nki", надо получить: "njui16nki".
задала массив через string pp[12].
может как-то по-оптимальней можно задать?
буду рада любым идеям.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 18:12     Строки в с++
Посмотрите здесь:

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: "Добавить строки, начиная...

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки - C++ Builder
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и надо через (n) символов первой строки...

Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки - Java
Помогите пожалуйста! 1)Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки. 2)Дана...

Сравнить строки, первый несовпадающий элемент строки-приемника записать в регистр AL, строки-источника - в DL - Assembler
Помогите написать программу на ассемблерене совсем еще разобрался с этим задание: Ввести с клавиатуры две строки одноразрядных...

Слить две строки, вставив символы одной строки между символами другой строки - Pascal
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой индекс j, что aj < bj, а для всех i < j ai =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 19:41     Строки в с++ #2
Нужно задать именно массив строк или нужно просто обработать одну строку? Если нужно просто строку, можно написать std::string s = "What4ever u wan8t". В любом случае для выполнения задания здесь достаточно просто перед каждой цифрой вставить '1'.
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
20.10.2013, 19:48  [ТС]     Строки в с++ #3
нужно обработать именно массив, и числа там могут быть самые разные: от 0 до 50 где-то, и каждое надо увеличить на определенное число, чаще двузначное.
я сделала сначала на модели: с числами 0,1, 2. все получилось, когда дошла до двузначных чисел - наступил ступор.
я делала вот как:
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(j=0;j<N;j++){
        for(ii=0; ii<l[j];ii++)
        {
              if(pp[j][ii]=='y'){
                                
                                ii=ii+2;
                                [COLOR="Red"]aa = pp[j][ii];//-'0';
                                a=aa+N;
                                pp[j][ii]=a;//+ '0';[/COLOR]
                                ii=ii-2;
                                }
}
N изначально задается
красным выделен кусок, где увеличивала число
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 20:28     Строки в с++ #4
Ну код, который приведен выше, годится только для увеличения однозначных чисел, причем только так, что результат не превышает 10. Для произвольных чисел легче всего использовать регулярные выражения из библиотеки Boost или Qt, или же попробовать сделать так: находим цифру, пока элемент строки цифра, записываем ее в какую-то временную строку; затем можно воспользоваться методом std::stoi для конвертации строки в число и увеличения на нужное число; потом конвертируем число обратно в строку и вставляем в нужное место исходной строки, очищаем временную строку.
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
20.10.2013, 21:27  [ТС]     Строки в с++ #5
А если попробовать так: встретила цифру, проверила след символ, если цифра, то запомнила их какой-нидь перемнной, преобразовала в число, увеличила, и обратно преобразовала? так слишком по-идиотски?
и если так все же попробовать сделать, то считает ли он 2 символа как одно число?
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 21:32     Строки в с++ #6
Цитата Сообщение от Pain'ka Посмотреть сообщение
А если попробовать так: встретила цифру, проверила след символ, если цифра, то запомнила их какой-нидь перемнной, преобразовала в число, увеличила, и обратно преобразовала?
Ну это фактически и есть то, что я писал, только для случая 2-х цифр.
Цитата Сообщение от Pain'ka Посмотреть сообщение
то считает ли он 2 символа как одно число?
. 2 символа - это 2 символа, но если их записать в некоторую временную строку, то потом эту строку можно преобразовать в двухзначное число.
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
20.10.2013, 22:22  [ТС]     Строки в с++ #7
спасибо! попробую.
а как лучше объявлять и инициализировать массив строк? через string pp[12] можно, или есть более оптимальный вариант?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 22:27     Строки в с++
Еще ссылки по теме:

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки. - Pascal
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки точка отсутствует, то найти слово,...

БД с операциями: добавление новой строки, удаление строки, редактирование имеющейся строки - PascalABC.NET
Нужно создать базу данных в паскале, с операциями: добавление новой строки, удаление строки, редактирование имеющей строки. Желательно с...

Строки. Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1 - Turbo Pascal
Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1.В строке S подсчитать кол-во вхождений строки S1.

Строки. Даны строки S и So. Найти количество вхождений строки So в строку S - Turbo Pascal
Помогите пожалуйста, как сделать эту задачу без этих вот строчек... B:=TRUE; и без команды INC... Вот условие задачи: Даны строки S и...


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

Или воспользуйтесь поиском по форуму:
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 22:27     Строки в с++ #8
Если точно известно, что строк не больше 12, то вполне нормально.
Yandex
Объявления
20.10.2013, 22:27     Строки в с++
Ответ Создать тему
Опции темы

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