![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.04.2020
Сообщений: 26
|
![]()
Помогите пожалуйста с кодом! Дан символьный массив, необходимо без использования функции string удалить из массива все запятые предшествующие первой точке, и заменить знаком '+' все цифры 3, стоящие после этой точки. Не знаю, как сделать, чтобы он определял, что точка первая, а не во всем массиве удалял. Возможно как-то с использованием указателей, но не могу воплотить в свою программу, поэтому прошу о помощи. Помогите пожалуйста на подобие моего кода выполнить задание. Рекурсию еще не учили. Заранее спасибо за помощь!
Код:
|
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
Обычно сначала строка вводится, а потом только делаются преобразования по условию, а то так получается сделать проще. Заведите флажок dot. Потом при чтении символа сначала проверяйте флажок, если он пока не поднят, то пропускайте запятые и проверяйте символ на точку для поднятия флажка, а если поднят, то проверяйте на цифру 3 для замены на плюс.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Вначале введи массив символов, а потом займись обработкой.
Опиши две переменные, которые будут индексами при просмотре массива, например, m и n. - m меняется от начального элемента массива, до последнего - n - указывает на свободное место, куда можно копировать элемент массива. Опиши переменную flag, которая будет иметь значение False (0), пока не найдена точка. В цикле просматриваешь массив. Если очередной символ - точка, то устанавливаешь флаг в true (1). Если флаг false и очередной символ запятая, то увеличиваешь только m, а иначе: m и n. Перезаписываем элемент массива: A[n] = A[m]; Если флаг true и очередной символ цифра, то записываем символ + PS: Как успел, ... ![]()
Как-то так, ...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.04.2020
Сообщений: 26
|
![]()
Почему из-за присвоении элементу значения +, прога не работает?
Код:
|
![]() |
![]() |
![]() |
#5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
А без присвоения работает? Что-то вы сразу много всего проверяете в последнем if. И результат лучше печатать после цикла printf("%s", str);.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 04.04.2020
Сообщений: 26
|
![]()
Да, без присвоения не работает. А как тогда грамотно разместить?
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.04.2020
Сообщений: 26
|
![]()
Язык -Си
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 04.04.2020 в 23:41. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Символьные строки C++ | zusohegomi | Помощь студентам | 1 | 27.10.2015 19:59 |
Символьные строки | andriy1048 | Помощь студентам | 5 | 30.06.2015 16:27 |
Символьные строки в Си | Вероника99 | Помощь студентам | 2 | 16.12.2013 21:12 |
Символьные строки | Арнис | Общие вопросы C/C++ | 2 | 18.09.2010 22:59 |
Символьные строки | Арнис | Общие вопросы C/C++ | 1 | 13.07.2010 14:04 |