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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 17:15   #1
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
Стрелка Паскаль, строки. Не могу найти ошибку в коде.

Вот код, условие задачи: В предложении удалить повторения второго слова, если повторений нет - удалить само второе слово.

Код:
 function strcmp(st1,st2:string):boolean;
var
I:Integer;
bo:boolean;
begin
bo:= true;
if length(st1) <> length(st2)then strcmp:= false
else begin
 for I:=0 to length(st1)do
 if st1[i] <> st2[i] then begin bo:= false;strcmp:= false;end;
 if bo then
 strcmp:= true;
end;
end;
var
st,word,fword,sstr,mword:string;
p,I:Integer;
begin
readln(st);
p:= pos(' ',st);
fword:= copy(st,0,p);
delete(st,1,p);
p:= pos(' ',st);
word:= copy(st,0,p-1);
if(word = '') then writeln(fword)else
begin

delete(st,1,p);

while p<> 0 do begin
 p:= pos(' ',st);
 sstr:= copy(st,0,p-1);
 if(strcmp(sstr,word)=false) then
 mword:= mword + sstr + ' ';
 delete(st,1,p);
end;
if strcmp(st,word)=false or (st ='')then
mword:= mword + st;
writeln(fword + mword);
end;
readln;
end.
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Старый 11.05.2011, 17:24   #2
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Цитата:
Сообщение от Liam_ Посмотреть сообщение
...В предложении удалить повторения второго слова, если повторений нет - удалить само второе слово...
Вопрос конечно интересный Чтобы долго людям не разбираться в режиме правка прокомментируйте свой код.
До свидания
OlegVE вне форума Ответить с цитированием
Старый 11.05.2011, 18:08   #3
sunny_alice
Пользователь
 
Регистрация: 16.04.2011
Сообщений: 46
По умолчанию

И напишите хоть, что неправильно работает, в чем проблема?
sunny_alice вне форума Ответить с цитированием
Старый 11.05.2011, 18:12   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Первое, что бросилось в глаза - в паскале символы в строках нумеруются с единицы, а не с нуля. Дальше не смотрел.
Son Of Pain вне форума Ответить с цитированием
Старый 11.05.2011, 18:16   #5
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

Например ввожу строку: ooo ppp iii zzz , удаляет ppp, всё правильно. Ввожу ooo ppp zzz ppp , выводит ooo zzz, т.е. удаляет и само второе и его повторение. А нужно чтобы только повторение Т.т
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Старый 11.05.2011, 18:20   #6
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Вы так и не прокомментировали код...
Вычислите позицию второго слова, затем определите есть ли повторение, если есть - вычислите его позицию и удаляйте один раз. Переменная позиции слова одна и та-же при удалении
До свидания
OlegVE вне форума Ответить с цитированием
Старый 11.05.2011, 19:29   #7
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

Прокомментировать нет возможности, прога девушки, сам пока в строках не настолько продвинут...
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку в коде написанном на FASM Devil21RUS Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 12.12.2010 04:52
Не могу найти ошибку в коде!!! Прога элементарная!Помощ нужна! Fresh_MaN Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 11.04.2010 11:13
Матрицы. ОЧЕНЬ ВАЖНО !!! Не могу найти ошибку в коде pasha92 Помощь студентам 0 24.12.2009 20:19
не могу найти ошибку в коде pavelstraut Общие вопросы C/C++ 5 24.07.2009 23:20
Не могу найти ошибку в коде! Natasha666 Помощь студентам 1 20.05.2009 09:27