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


Автор: borjomi 12.1.2007, 18:50
Вводится строка из слов, разделенных пробелами или запятыми. Разбить строку на слова и вывести их на экран в столбик обратном порядке.

Автор: volvo877 12.1.2007, 19:38
Код
const
  delimiter = [#32, ','];
type
  TWords = array[1 .. 50] of string;


function GetWords(s: string; var words: TWords): integer;
var
  i, back, n: integer;
begin
  i := 1;
  n := 0;
  while i <= length(s) do begin

    while (i <= length(s)) and (s[i] in delimiter) do inc(i);
    if i <= length(s) then begin
      back := i;
      while (i <= length(s)) and not(s[i] in delimiter) do inc(i);
      inc(n);
      words[n] := copy(s, back, i - back);
    end;
  end;
  GetWords := n;
end;

var
  s: string;
  words: TWords;
  i: integer;

begin
  write('s = '); readln(s);
  for i := GetWords(s, words) downto 1 do writeln(words[i]);
end.
?

Автор: borjomi 14.1.2007, 18:40
Большое спасибо, 
volvo877, ты меня очень выручил.

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