0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
||||||
1 | ||||||
Преобразование чисел в строки и наоборот28.12.2014, 20:58. Показов 2393. Ответов 10
Метки нет (Все метки)
Доброго времени суток! Я только начинаю осваивать С++, поэтому очень нужна помощь.
Имеется строка, содержащая некоторые символы. Преобразовать эту строку таким образом, чтобы все буквы от А до I (от a до i)заменить на цифры 1…9. Отсортировать полученную строку по возрастанию и заменить прописные буквы заклавными. Был написан вот такой код, но компилятор выдает ошибку. Правда, ее можно проигнорировать, но программа все равно преобразует неправильно. Можете объяснить в чем дело?
0
|
28.12.2014, 20:58 | |
Ответы с готовыми решениями:
10
Преобразование строки в число и наоборот Преобразование из чисел в строки Преобразование чисел в строки Преобразование чисел из строки |
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
28.12.2014, 21:03 | 2 |
Какая ошибка, в какой строке?
0
|
0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
|
28.12.2014, 22:02 [ТС] | 3 |
Ошибка в строке 102: невозможно преобразовать "int" в "char*".
Добавлено через 4 минуты И программа неправильно переводит. Например, если вводишь строку ShiFROvka oT SHPioNa, то результат вместо 1168899(HIFAHIA) получается такой: S896ROvk1 oT S8P9oN1
0
|
Комп_Оратор)
|
||||||
28.12.2014, 23:40 | 4 | |||||
Вот. Для шпиона самое то:
1
|
0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
|
29.12.2014, 00:28 [ТС] | 5 |
Большое спасибо!)
Добавлено через 8 минут Однако здесь все равно получается не то, что должно. Когдда я ввожу ShiFROvka oT SHPioNa, то получается S896ROvk1 oT S8P9oN1, а должно быть вот это: 1168899(HIFAHIA) Добавлено через 25 минут В этой программе еще и должны удаляться символы от J до Z (j-z). Там такая функция есть. Может надо ее как-то включить в main? Она, вроде бы, написана правильно (Del_useless), а Delete - это удаление всех остальных букв, которые прошли проверку на удаление в функции Del_useless.
0
|
Комп_Оратор)
|
|
29.12.2014, 01:53 | 6 |
Почему? Вы что-то скрываете?
Смотрите, S не входит ни в один из интервалов: [a,i] [A, I] но Вы считаете что его нужно менять на единицу. А на единицу нужно менять A или a и больше ничего. Если судить по тому, что сказано в условии. Недоговариваете Вы что-то. Как пить дать. А и правда. Вот вычитал: Что же тут скажешь. Напишите всё что наболело, сразу и полностью, а мы посмотрим.
0
|
0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
|
29.12.2014, 11:16 [ТС] | 7 |
В этой программе должны меняться буквы A…I (a…i) на цифры 1…9, а остальные буквы, т.е. J…Z(j-z) удаляться. А еще все она должна менять прописные буквы на заглавные, а затем полученную строку отсортировать по возрастанию методом пузырек. Но она не хочет этого делать! И я уже не знаю, что в этой программе надо изменить, чтобы она заработала правильно.
Наверное, у меня все же неправильная функция удаления.
0
|
0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
||||||
12.01.2015, 09:45 [ТС] | 8 | |||||
Я немного поменял код, но все равно не работает.
Добавлено через 16 часов 16 минут А Вы не могли бы подсказать, как действует эта строка? Я понимаю, что она заменяет букву на цифру, но не понимаю, как именно она это делает. if(*s >= 'A' && *s <= 'I') *s = *s-'A' + 1 + '0';
0
|
12.01.2015, 10:17 | 9 |
Нафига к верхнему регистру приводить если удаляешь? Вот тебе подсказка - приводи к верхнему регистру, удаляй разницу между '1' и 'A'.
Заменяй удаляемые символы большими значениями (больше чем '9') и сортируй. В отсортированном массиве первый "большой элемент" заменяешь на '\0' и готова строка из цифр по возрастанию. Вообще можно было бы просто посчитать количество A и других, а потом подряд столько же единиц, двоек и т.д.
0
|
0 / 0 / 0
Регистрация: 28.12.2014
Сообщений: 22
|
||||||
12.01.2015, 10:42 [ТС] | 10 | |||||
Вот программа заработала.
*s = *s-'A' + 1 + '0';
0
|
12.01.2015, 11:12 | 11 |
Вместо *(s+i) можно было написать s[i].
Присваиваешь *str к *str. Дальше не читал.
0
|
12.01.2015, 11:12 | |
12.01.2015, 11:12 | |
Помогаю со студенческими работами здесь
11
Преобразование строки чисел в дату Преобразование строки в список чисел Преобразование строки в массив чисел Преобразование целых чисел из текстовой строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |