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


Автор: diablist 13.10.2009, 20:06
Помогите с решением задачи пожайлуста:

Цитата

Дана строка символов “Odessa, Kiev, Lvov, Nikopol, Alushta, Nikolaev”,  число X=65. Разработать модуль, который содержит процедуру или функцию, реализующую задачу, согласно номера варианта:
Вывести все слова строки в столбик и определить слово максимальной длины.

Заранее благодарен.

Автор: ИванМ 13.10.2009, 20:19
А причем тут число X=65?

Автор: diablist 13.10.2009, 20:31
ИванМ
Это не надо, просто вопрос общий и там 8 вариантов, в данном случае это число не играет роли smile

Автор: ИванМ 13.10.2009, 21:05
Код

uses crt;

var
word: string;

function execute(s: string): string;
var
i, start, len, maxlen: integer;
comma: boolean;
maxstr, str: string;
begin
     start:=1;
     comma:=false;
     len:=0;
     maxlen:=0;
     for i:=1 to length(s) do
     begin
          if s[i]=',' then
          begin
             writeln;
             comma:=true;
             if len>maxlen then
             begin
                  maxlen:=len;
                  maxstr:=str;
             end;
             len:=0;
             str:='';
          end
          else if ((s[i]<>',') and (s[i]<>' ')) or
                  ((s[i]=' ') and (not comma)) then
          begin
               comma:=false;
               write(s[i]);
               str:=str+s[i];
               inc(len)
          end;
     end;
     if len>maxlen then
     begin
          maxlen:=len;
          maxstr:=str;
     end;
     writeln;
     execute:=maxstr;
end;

begin
     clrscr;
     word:=execute('Odessa, Kiev, Lvov, Nikopol, Alushta, Nikolaev');
     write('max word=', word);
     readkey;
end.

Автор: diablist 13.10.2009, 21:51
Спасибо большое за помощь smile

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