Удалить цифры в строке, начиная с третьей

Программирование Программирование на С++ Решение задач на С++ Удалить цифры в строке, начиная с третьей

Помечено: ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 9 мес., 2 нед. назад.

  • Автор
    Сообщения
  • #4479
    @admin

    Цель: выработка умений последовательной обработки данных без хранения всех данных в памяти компьютера, умений алгоритмизации задач с несколькими условиями, умений программирования функций, отладки и тестирования программ с функциями.

    Задание: удалить в выражениях из каждой группы идущих подряд цифр все цифры, начиная с третьей.

    1 Анализ и постановка задачи

    Необходимо вывести все символы, кроме тех, что должны быть удалены. Значит, достаточно проверить, является ли символ цифрой, считая все подряд идущие, и, если их количество превысит два, не выводить их. Остальные символы выводятся.

    2 Тесты
    В таблице представлены последовательности символов, которые принимает и выдает корректно работающая программа:

    Входные данныеВывод программы
    A*b/c1234567890zyx 1865u1l23A*b/c12zyx l86u1l23
    1234567890098765432112

    3 Алгоритм
    На рисунке представлена блок-схема алгоритма программы.

    4 Листинг программы

    #include <stdio.h>
    #include <conio.h>
    
    void main()
    {
    	int i;
    	char c;
    	do
    	{
    		i=0;
    		c=0;
    		printf("Enter the text: ");
    		while (c = fgetc(stdin), (c != '\n'))
    		{
    			if ((c =< '9') && (c >= '0'))
    			{
    				i++;
    				if (i>2) continue;
    			}
    			else i = 0;
    			printf_s("%c", c);
    		}
    	} while (_getch()==13);
    }

    Внешний цикл в программе перебирает символы до тех пор, пока не будет введена пустая строка (код символа конца строки — 13).
    Внутренний цикл перебирает символы, вводимые с клавиатуры, при этом если символ является цифрой — увеличивается счетчик, а если счетчик больше 2 — то остальные цифровые символы игнорируются. Если же счетчик меньше двух или символ не является цифрой — выполняется вывод символа. Если группа цифр кончилась (встретилась буква, например) — счетчик обнуляется.

    5 Экранные формы
    На рисунке представлен снимок экрана программы с результатом обработки тестовых данных.

Для ответа в этой теме необходимо авторизоваться.