IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Неправильно работает код удаления слова из строки
сообщение
Сообщение #1


Гость






Дана строка типа слово1 слово2 слово3 слово1
Надо чтобы после парсинга строки удалились дубликаты те получилось
слово1 слово2 слово3

Код

var
  t,single:string;
  i,j:integer;


function word(t_temp:string; var count: integer):string;
  var
    l1,l2:integer;
  begin
    delete(t_temp, 1, count);
    l1:=pos(' ', t_temp);
    l2:=pos(',', t_temp);
    while (l1=1) or (l2=1) do
      begin
        l1:=pos(' ', t_temp);
        l2:=pos(',', t_temp);
        if (l1=1) or (l2=1) then
          begin
            delete(t_temp,1,1);
            inc(i);
          end;
      end;
    if l1<l2 then
      begin
       result:=copy(t_temp,1,l1);
       inc(count, l1)
      end
    else
      begin
        result:=copy(t_temp,1,l2);
        inc(count,l2);
      end;
end;

function double(t_temp:string; sub:string; vaar count:integer):boolean;
  begin
    delete(t_temp,1,count);
    j:=pos(sub,t_temp);
    if j= 0 then result:=false
    else
      result:=true;
  end;

procedure cut(var str:string; sub:string; var count:integer);
  begin
    j:=pos(sub,str);
     while j<>0 do
      begin
        j:=pos(sub,str);
        delete(str,j,length(sub));
      end;
  end;

begin
  writeln('Enter your string...');
  readln(t);
  i:=0;
  while i<=length(t) do
    begin
      single:=word(t,i);
      if double(t,single,i) then
        cut(t,single,i)
      else inc(i);
    end;
  writeln(t);
  readln;
end.


Помогите пожалуйста
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-студент-   Неправильно работает код удаления слова из строки   16.02.2006 0:39
volvo   Велосипеды изобретаем? Я пользуюсь вот этим: Разб…   16.02.2006 0:44
Гость   Разбить не проблема проблема удалить дубликаты   16.02.2006 0:45
volvo   Вот как раз это - не проблема... Проход по списку …   16.02.2006 0:48
Гость   Проблема в том что нужно еще вывести слова правиль…   16.02.2006 0:57
Гость   сорри, буду разбираться)   16.02.2006 0:58
volvo   Ты по ссылке был? Видел, КАК находятся слова? Инде…   16.02.2006 1:00
Гость   я понял спасибо) буду аккуратнее :D   16.02.2006 1:08
GuRman   нет, все таки возник еще один вопрос. вот есть про…   16.02.2006 1:54
volvo   SetLength это что? Открытые массивы? Компилятор у …   16.02.2006 2:17
GuRman   все, задачу решил наконец-то)   16.02.2006 3:27
volvo   Молодец! А теперь код выложи сюда, и давай сра…   16.02.2006 3:30
GuRman   ну у меня задача еще немного отличалась но этот ко…   16.02.2006 4:02
volvo   ЗЫ замечания? 8) :blink: А можешь полностью свою …   16.02.2006 14:09


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.09.2025 9:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name