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


Автор: golden 30.11.2006, 21:36
Задача:
Дан текст.Найти самую длинную группу цифр и поменять её с последней группой цифр.

(Требуется самое простое решение задачи)
Заранее благодарен. golden

Автор: mr.Anderson 30.11.2006, 21:57
Под текстом понимаются группы цифр или что? Чем разделены группы? Поподробнее.

Автор: golden 1.12.2006, 11:55
2sim7\Я  думаю так - дана строка символов(текст), т. е. например: 123abcd454536asd234nbm67xyzk3214
Под текстом подразумеваються сиволы и всё.
ПОМОГИТЕ С ПРОГРАММОЙ ЛЮДИ!

Автор: Alexeis 4.12.2006, 21:15
Код

program Project2;

var
  s : string[60] = 'sdsgs#d_123_ewat&wea_16489_w,etwe_27_twetw_5_ewr.we_653_fgh';
  i : Integer;
  pmax, lmax : Integer;
  pt, lt : Integer;
  ResultStr : string;

begin
  i := 1;
  lmax := 0;
  repeat
    if s[i] in ['0'..'9']
    then
      Begin
        lt := 1;
        while (i <= Length(s))
        do
          if s[i+lt] in ['0'..'9']
          then
            Inc(lt)
          else
            Break;
        pt := i;
        if lt > lmax
        then
          begin
            lmax := lt;
            pmax := i;
          end;
        i  := i + lt;
      end;
    Inc(i);
  until i > Length(s);

  ResultStr := Copy(s, 1, pmax - 1) + Copy(s, pt, lt) +
               Copy(s, pmax + lmax, pt - pmax - lmax) + Copy(s, pmax, lmax) +
               Copy(s, pt + lt, Length(s) - pt - lt + 1);
  Writeln(s);
  Writeln(ResultStr);
  Readln;
end.


Автор: golden 2.1.2007, 16:20
Всем спасибо тему можно закрыть.

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