Написать программу, чтобы она удаляла все нечетные числа в строке

Ответы

Ответ дал: marlili2006
0

Ответ:

var

 s, p : string;

 i : integer;

begin

 write('строка: ');

 readln(s);

 writeln(s);

 for i := length(s) downto 1 do  

   if s[i] in ['1', '3', '5', '7', '9'] then delete(s, i, 1);

 for i := length(s) downto 1 do

   if s[i] in ['0', '2', '4', '6', '8'] then

   begin

     p := '(' + s[i] + ')';

     delete(s, i, 1);

     insert(p, s, i)

   end;

 writeln(s);

 readln

end.

Объяснение:


BobbyFresnel: Ввел строку: 26 декабря 2019 года, четверг, 15 час 43 мин, за окном +3. Получил забавный результат: (2)(6) декабря (2)(0) года, четверг, час (4) мин, за окном +. Как то не шибко похоже на удаление НЕЧЕТНЫХ ЧИСЕЛ
marlili2006: А что именно вас смущает? Если то что все числа в скобках, то так и должно быть, но то что вы написали и есть удаление нечетных чисел
BobbyFresnel: Скобки - это Ваш прикол, мне все равно, из в задании нет. Но вот что неверно (на мой взгляд) - Вы удаляете не ЧИСЛА нечетные, а ЦИФРЫ.
BobbyFresnel: Как говорилось а анекдоте про медсестру, что путала гайки и таблетки, "... Вам может и все равно, а больные жалуются" ))
marlili2006: Ну ладно, я поняла, просто я лучше разбираюсь в PYTHON, чем в Pascal
BobbyFresnel: Ну да, знакомо "Я лучше целуюсь, чем готовлю", как моя девушка говорит. Только ЦИФРЫ и ЧИСЛА - это понятия их арифметики для начальной школы, программирование и тем более языки тут вообще не при чем.
BobbyFresnel: И да, тут вон столько просьб на Питоне написать, что же не отвечаете?
marlili2006: Так я еще раз скажу, извиняюсь за ошибки и попрошу закрыть эту тему, мне кажется мы уже все решили
Ответ дал: BobbyFresnel
0

===== PascalABC.NET =====

begin

 var s :='26 декабря 2019 года, четверг, 15 час 43 мин, за окном +3.';

 s := s.Remove

     (

     s.MatchValues('\d+')

     .Select(p -> p.ToInteger)

     .Where(p -> p.IsOdd)

     .Select(p -> p.ToString)

     .ToArray

     );

 Println(s) // 26 декабря  года, четверг,  час  мин, за окном +.

end.

Вас заинтересует