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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 20:53   #1
Игрушка96
Пользователь
 
Регистрация: 26.11.2011
Сообщений: 19
По умолчанию Строки

Задана строка.Определить кол-во слов в ней.И вывести слова на экран через запятую..Заранее спасибо
Игрушка96 вне форума Ответить с цитированием
Старый 16.04.2012, 21:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наработки есть?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.04.2012, 22:30   #3
Игрушка96
Пользователь
 
Регистрация: 26.11.2011
Сообщений: 19
По умолчанию

самих наработок нет..но так думаю что там основа будет держаться на цикле с постоянной записью кол-ва слов...определить конец слова поможет пробел?
Игрушка96 вне форума Ответить с цитированием
Старый 19.04.2012, 07:16   #4
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Код:
uses crt;
Const
  WordDelimiters : set of char = [' ',',','.','-','!','?',':',';',')','(','[',']'];


// WordCount функция из модуля TPSTRING

  function WordCount(S : string; WordDelims : set of char) : Byte;
    {-Given a set of word delimiters, return number of words in S}
  var
    Count : Byte;
    I : Word;
    SLen : Byte;
  begin
    SLen := Length(S);
    Count := 0;
    I := 1;
    while I <= SLen do begin
      {skip over delimiters}
      while (I <= SLen) and (S[I] in WordDelims) do
        Inc(I);
      {if we're not beyond end of S, we're at the start of a word}
      if I <= SLen then
        Inc(Count);
      {find the end of the current word}
      while (I <= SLen) and not(S[I] in WordDelims) do
        Inc(I);
    end;
    WordCount := Count;
  end;
  
  Function GetSlovaFromStr(s:string;WordDelims : set of char):string;
  var x,len:integer;
      s2:string;
      res_str:string;
  begin
    s2:='';
    len:=length(s);
    res_str:='';
    for x:=1 to len do begin
      if (s[x] in WordDelims) or (x=len) then begin
      if s2<>'' then   if res_str='' then  res_str:=s2  else res_str:=res_str+','+s2;
      s2:='';
      end else s2:=s2+s[x];
    end;
   GetSlovaFromStr:=res_str;
  end;
var str:string;

begin
clrscr;
str:='Задана строка.Определить кол-во слов в ней.И вывести слова на экран через запятую..Заранее спасибо';
Writeln(str);
Writeln('Кол-во строк ',WordCount(str,WordDelimiters));
Writeln;
Writeln(GetSlovaFromStr(str,WordDelimiters));

end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 19.04.2012 в 07:19.
denisbrain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10