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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
insi
#1

Символы и строки. - C++

14.05.2008, 21:11. Просмотров 1625. Ответов 9
Метки нет (Все метки)

Помогите пожалуйста с решением задачи.

Вводится последовательность символов. Формировать новую строку, состоящую из символов исходной строки, в которой вначале идут символы с нечетными значениями кодов, а потом с четными.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2008, 21:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Символы и строки. (C++):

Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. - C++
Вот задание: Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и...

Вывести на экран в первой строке нечетные символы, во второй четные символы исходной строки - C++
Помогите написать 3 программы. (на С или С++) 1. Вывести на экран в первой строке нечетные символы, во второй четные символы исходной...

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

Как обрезать эффективно часть строки, составляющую последние символы "/" и следующие за ними символы? - C++
здравствуйте, есть код, обрезающий во входной строке часть составляющую последние символы "/" и следующие за ними символы: std::string...

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

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

9
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
15.05.2008, 09:00 #2
Можно два раза пробежаться по всему массиву символов в цикле деля код каждого символа на 2, если есть остаток, то нечетные значения кода, записываем их в начало строки, затем проходимся второй раз и если остатка нет (четные значения кода) записываем в конец строки.
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
15.05.2008, 09:55 #3
Alirp, можно же ведь оптимизировать и сразу, если остатка, писать в конец массива. что-то типа:
switch(код символа/2):
case(есть остаток) в начало;
case(нет остатка) в конец;
0
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
15.05.2008, 10:12 #4
Цитата Сообщение от MsDos Посмотреть сообщение
Alirp, можно же ведь оптимизировать и сразу, если остатка, писать в конец массива. что-то типа:
switch(код символа/2):
case(есть остаток) в начало;
case(нет остатка) в конец;
Можно и сразу только использовать не switch а массив и условные операторы, что то типа:
for (int i = 0; i < количества символов; i++) {
int ost = (int) fmod (код символа, 2);
if (ost == 0) //Остатка нет
запись в начало;
else //Остаток есть
запись в конец;
}
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
15.05.2008, 10:21 #5
Alirp, хехе
если бы при делении на 2 могло быть еще какое-нибудь состояние, кроме существования остатка и его отсутствие, то в switch надо было бы всего лишь добавить один case, а с ифами пришлось бы еще возиться
0
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
15.05.2008, 10:27 #6
Цитата Сообщение от MsDos Посмотреть сообщение
Alirp, хехе
если бы при делении на 2 могло быть еще какое-нибудь состояние, кроме существования остатка и его отсутствие, то в switch надо было бы всего лишь добавить один case, а с ифами пришлось бы еще возиться
Не какой возни с ифами я не вижу, если надо, то можно добавить else if (условие)
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
15.05.2008, 10:35 #7
Alirp, краткость - сестра таланта(с)ч
добавить 'case();'
или
'else if()'
хоть и небольшая, но разница + меньше фактического кода облегчает понимание

Добавлено через 2 минуты
зы не призываю, конечно, немедленно переходить на свитч, просто есть такое предпочтение
0
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
15.05.2008, 10:38 #8
Я использую switch когда много проверок, тогда действительно if не катит, но когда надо произвести две или три проверки, то лучше использовать ифы, а на счет кратости, кроме case надо еще добавлять еще и break так что не известно, что короче.
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
15.05.2008, 10:43 #9
Alirp, ох, ну, да, точно..
insi, пишите через ифы ))
0
insi
16.05.2008, 00:17 #10
Спасибо за инфу, попробую теперь разобраться
16.05.2008, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2008, 00:17
Привет! Вот еще темы с ответами:

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

Определить длину строки,удалить из строки все символы, которые равны заданному - C++
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием кода для данной задачи в вижуале. Если будет возможно,то с...

Отсортировать цифры, символы и буквы из строки в отдельные строки - C++
1. Дана строка содержащая цифры, символы и буквы. Отсортировать их в отдельные строки. 2. 3. 4.Правила

Строки в с++. После строки выводятся не понятные символы - C++
Помогите плиз найти ошибку в задачке, работает правильно, но выводит в конце &quot;левые&quot; символы. как их убрать? Функции передаёться...


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

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

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