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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2008, 15:58   #1
defeat
 
Регистрация: 04.12.2007
Сообщений: 4
По умолчанию Работа со строками. Delphi

дравствуйте, помогите решить в delphi. ЗАдача такая: "Дан текст. Сколько слов в тексте? Сколько цифр в тексте? "
Я её сделал...но, как оказалась неправильно.... нашел не цифры, а числа....помогите пожалуйста исправить..

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,n,k:integer;
s:string;
begin
k:=0; //количество цифр
n:=0; //количество слов
s:=copy(Memo1.lines[0],1,pos(' ',Memo1.lines[0])-1);
for i:=0 to memo1.Lines.Count-1 do begin
 for j:= 0 to length(Memo1.lines[i]) do begin
   if (Memo1.lines[i][j]=' ')and(Memo1.lines[i][j+1]<>' ')then begin
    case Memo1.lines[i][j+1] of
      '0':k:=k+1;
      '1':k:=k+1;
      '2':k:=k+1;
      '3':k:=k+1;
      '4':k:=k+1;
      '5':k:=k+1;
      '6':k:=k+1;
      '7':k:=k+1;
      '8':k:=k+1;
      '9':k:=k+1;
    else
      n:=n+1;
    end;
   end;
 end;
end;

LabeledEdit1.Text:=inttostr(n);
LabeledEdit2.Text:=inttostr(k);
end;

end.
Цитата:
Код вставляем в тег [CОDE][/СОDЕ] или пользуемся кнопкой # (расширенный режим). Модератор.

Последний раз редактировалось AlDelta; 09.01.2008 в 16:50. Причина: [code]
defeat вне форума Ответить с цитированием
Старый 09.01.2008, 16:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сколько слов в тексте?
Слова разделены пробелом?
Если в слове цифры это считается словом?
Если да то колво слов мона получить через TStringList
поставив Delimeter=' ' и присвоив DelimitedText:=текст. Тогда Count даст количество слов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2008, 16:24   #3
defeat
 
Регистрация: 04.12.2007
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Слова разделены пробелом?
Да разделены, иначе простой набор букв типа :"атйайарйшщ" будет считаться как одно слово....

Если в слове цифры,то программа должна посчитать и само слово, в котором цифры, и сами цифры в слове...

СПасибо, но мне бы желательно чтобы цифры найти..со словами думаю разберусь..а то цифры чето не идут
defeat вне форума Ответить с цитированием
Старый 09.01.2008, 17:01   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вы в одном цикле, где за точки отсчета приняты пробелы, считаете и слова и цифры. Цифры нужно считать без учета пробелов? примерно так:
for i:=1 to length(s) do
case s[i] of
'0'..'9':k:=k+1;
end;
puporev вне форума Ответить с цитированием
Старый 10.01.2008, 13:39   #5
defeat
 
Регистрация: 04.12.2007
Сообщений: 4
По умолчанию

Спасибо задача решена
defeat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С, работа со строками Надюха Помощь студентам 2 29.05.2008 13:07
Работа со строками . Cveto4eg Помощь студентам 11 26.05.2008 13:36
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30
Работа со строками Nividimka Помощь студентам 11 03.03.2007 15:58