Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C] Замена цифр на звездочки


Автор: Arwen 1.11.2009, 17:07
Вот такое задание:
Вводится строка символов, как заменить в ней все цифры на символ * ? 

Не могу понять, как мне сделать, чтобы для каждой цифры выводилась звездочка, если например будет число 123((
Помогите, пожалуйста!

Автор: chip_and_dayl 1.11.2009, 17:09
Вводишь любую цифру, нажимаешь BackSpace, после чего нажимаешь клавишу, где изображена звездочка, но при этом не забудь удержать клавишу Шифт.

Это я веду к тому - а на чем пишем?

Автор: Arwen 1.11.2009, 17:26
Ну в названии темы написано, пишем на C  smile 

Автор: Proxin 1.11.2009, 17:54
Я в си не сильный, но делаешь так.

Создаёшь переменную типа стринг.
Создаёшь цикл по отлову нажатой клавиши, он идёт до того, пока клавиша<>enter.
В цикле добавляешь введенную букву в string.
На экран посылаешь символ звездочки.

Автор: zim22 1.11.2009, 17:57
Цитата(Arwen @  1.11.2009,  16:07 Найти цитируемый пост)
Вводится строка символов, как заменить в ней все цифры на символ * ? 

прям во время ввода нужно заменять? или уже после нажатия Enter?

Автор: Proxin 1.11.2009, 17:58
Прям во время ввода, иначе как?

Автор: Arwen 1.11.2009, 18:05
На вводе буквы и цифры, а на выводе после Enter вместо цифр звездочки.

Вот так примерно: 

Ввод                    Вывод
WinDOS 98          WinDOS **

Автор: zim22 1.11.2009, 18:29
Код

#include <stdio.h>

int main()
{
  char line[256] = {0};
  gets(line);

  char *p = line;
  for ( ; *p; ++p)
    if (*p >= '0' && *p <= '9')
      *p = '*';

  printf("%s", line);

  return 0;
}


Автор: Arwen 1.11.2009, 18:35
zim22, спасибо большое! Замечательно работает)

Proxin, и вам тоже спасибо за помощь)

Автор: Dov 15.10.2022, 16:26
Не понимаю, почему сообщения скрывают?   smile  
Модераторы, вы бы хоть причину указывали.  smile 
Человек же что-то спрашивает. Надеюсь, корона не слетит от этого.   smile 

Код

#include <stdio.h>
#include <ctype.h>

int main(){
    for( int ch = getchar(); ch != '\n'; ch = getchar() )
         putchar( isdigit( ch ) ? '*' : ch );

    putchar( '\n' );
    return 0;
}



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)