С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

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

Прибавить ко всем элементам каждой строки максимальное значение этой строки - C++
добрый вечер! Помогите пожалуйста доработать код! Изменить текущий массив, прибавив ко всем элементам каждой строки максимальное...

Вычислить длину введенной строки и вывести символы строки с четными индексами - C++
Напишите программу, которая требует ввода строки с клавиатуры. Программа вычисляет длину строки и выводит на экран только те символы...

7
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 19:41 #2
Нужно задать именно массив строк или нужно просто обработать одну строку? Если нужно просто строку, можно написать std::string s = "What4ever u wan8t". В любом случае для выполнения задания здесь достаточно просто перед каждой цифрой вставить '1'.
0
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 изначально задается
красным выделен кусок, где увеличивала число
0
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 20:28 #4
Ну код, который приведен выше, годится только для увеличения однозначных чисел, причем только так, что результат не превышает 10. Для произвольных чисел легче всего использовать регулярные выражения из библиотеки Boost или Qt, или же попробовать сделать так: находим цифру, пока элемент строки цифра, записываем ее в какую-то временную строку; затем можно воспользоваться методом std::stoi для конвертации строки в число и увеличения на нужное число; потом конвертируем число обратно в строку и вставляем в нужное место исходной строки, очищаем временную строку.
0
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
20.10.2013, 21:27  [ТС] #5
А если попробовать так: встретила цифру, проверила след символ, если цифра, то запомнила их какой-нидь перемнной, преобразовала в число, увеличила, и обратно преобразовала? так слишком по-идиотски?
и если так все же попробовать сделать, то считает ли он 2 символа как одно число?
0
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 21:32 #6
Цитата Сообщение от Pain'ka Посмотреть сообщение
А если попробовать так: встретила цифру, проверила след символ, если цифра, то запомнила их какой-нидь перемнной, преобразовала в число, увеличила, и обратно преобразовала?
Ну это фактически и есть то, что я писал, только для случая 2-х цифр.
Цитата Сообщение от Pain'ka Посмотреть сообщение
то считает ли он 2 символа как одно число?
. 2 символа - это 2 символа, но если их записать в некоторую временную строку, то потом эту строку можно преобразовать в двухзначное число.
0
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
20.10.2013, 22:22  [ТС] #7
спасибо! попробую.
а как лучше объявлять и инициализировать массив строк? через string pp[12] можно, или есть более оптимальный вариант?
0
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
20.10.2013, 22:27 #8
Если точно известно, что строк не больше 12, то вполне нормально.
1
20.10.2013, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 22:27
Привет! Вот еще темы с ответами:

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

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...


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

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

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