Обработка символьных данных - C (СИ) (148922)
Формулировка задачи:
Составить программу, которая вводит строку символов, выполняет ее обработку (Удалить все знаки "+", за которыми следует цифра)и затем выводит результаты
Решение задачи: «Обработка символьных данных»
textual
Листинг программы
for(i = 0, j = 0; str[i] != '\n'; i++, j++)
{
// Если обнаруживается выполнение правила
if(str[i] == '+' && isdigit(str[i+1]))
{
i++;
}
str[j] = str[i];
}
str[j] = '\0';
Объяснение кода листинга программы
- Происходит инициализация двух указателей i и j, первый указывает на текущий символ в строке, второй на место, куда будет записан обработанный символ.
- Происходит цикл по всем символам строки до тех пор, пока не встретится символ новой строки.
- Внутри цикла проверяется условие, если текущий символ равен
+и следующий символ является цифрой, то происходит переход к следующему символу. - Если условие выполняется, то текущий символ копируется в новый массив.
- После окончания цикла, последнему символу в новом массиве присваивается символ
\\0.