Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2007, 17:52   #1
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию Напечатать слова в которые входят цифры

Условие: напечатайте слова в которые входят цифры. Вот мой наработанный программный код:
Код:
Program chisla;
var
s,s1,res:string;
n,m,k,i:integer;
begin
readln (s);
n:=length(s);
while (s[i] <> ' ') and (i <= n) do
begin
s1:=copy(s,1,pos(' ',s)-1);
m:=length(s1);
for i:=1 to m do
if (ord(s1[i]) >= 48) and (ord(s1[i]) <= 57) then
res:=res+s1+' ';
delete(s,1,pos(' ',s)-1);
end;
write (res);
end.
Программа работает но выдает неправильный результат. Т.е. когда набираеш слова через пробел, то она печатает только первое слово в котором есть цифры и на этом заканчивает работу. Подправьте программный код что бы программа проверяла не только первое слово на цифры, но и последующие слова на цифры.

Последний раз редактировалось AlDelta; 19.11.2007 в 17:56.
profi вне форума Ответить с цитированием
Старый 19.11.2007, 20:57   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
Program chisla;
var
  s,res: string;
  n,i :integer;
  cod: boolean;
begin
  readln(s);
  repeat
    n:=pos(#32,s)-1;
    if n = -1 then n:=length(s);
    cod:=false;
    for i:=1 to n do
      if s[i] in ['0'..'9'] then cod:=true;
    if cod then res:=res+copy(s,1,n)+#32;
    delete(s,1,n+1);
  until length(s) = 0;
  writeln(res);
  readln;
end.
_Dmitry вне форума Ответить с цитированием
Старый 02.12.2009, 23:00   #3
P1RoG
Пользователь
 
Аватар для P1RoG
 
Регистрация: 21.11.2009
Сообщений: 19
По умолчанию

Можно спросить, что значит #32?)
А это символ , тока я пока не нашел какой т_Т

Апдейт: вопрос отпал, до 31 символа включительно идут символы управляющие которые не имеют графического оформления )

Последний раз редактировалось P1RoG; 02.12.2009 в 23:09.
P1RoG вне форума Ответить с цитированием
Старый 02.12.2009, 23:34   #4
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
Сообщение от P1RoG Посмотреть сообщение
Можно спросить, что значит #32?)
А это символ , тока я пока не нашел какой т_Т

Апдейт: вопрос отпал, до 31 символа включительно идут символы управляющие которые не имеют графического оформления )
#32 - пробел
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
напечатать текст из Memo Sanek777 Общие вопросы Delphi 1 30.08.2008 21:25
НАпечатать наибольшую последовательность состоящую gred Помощь студентам 6 23.03.2008 16:12
Напечатать строку с наибольшим количеством слов. jenja Помощь студентам 9 07.03.2008 05:28
Напечатать все числа Пифагора меньше N Санячос Помощь студентам 5 18.01.2008 18:21