![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
FB |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите пожалуйста доделать лабу.
Нужно сделать прогу, которая удаляет из входной строки YS элемент,находящийся перед последовательностью символов, заданных переменной SX(для всех вхождений SX). Я написал так: Код Var Kz,Np,J,DSX: Integer; YS,SX,UYS,KY: String; begin SX:=Edit1.Text; YS:=Edit2.Text; UYS:=Edit2.Text; DSX:=Length(SX); Np:=Pos(SX,YS); Kz:=0; UYS:=YS; J:=Np; While Np<>0 Do Begin Delete(YS,J-1,1); Delete(UYS,Np-1,DSX+1); Np:=Pos(SX,UYS); J:=Np+DSX; Kz:=Kz+1; end; Edit3.Text:=YS; Str(Kz,Ky); Edit4.Text:=KY; end; end. где Np-позиция SX в YS; UYS-вспомогательная строка; J-вспомогательная переменная,отвечающая за нахождение всех последующих SX в строке YS. Программа правельно удаляет только два заданных символа,а потом начинать действовать неверно.Мне кажется,что проблема в строке J:=Np+DSX. Помогите пожалуста исправить программу. Спасибо. Сообщение отредактировано: volvo - 17.12.2004 11:32 |
reill |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
Я так понимаю ты писал свою лабу на Дельфи....
Я исправил твои ошибки, но пример привожу для паскаля, для того что бы использовать его на Дельфи тебе нужно переправить ввод и вывод данных.. Заменить readln и writeln на что-то типа: Код SX:=Edit1.Text; YS:=Edit2.Text; Edit3.Text:=YS; Ну я думаю разберешься.... Вот прога: Код program help; Var J,DSX,dYS: Integer; YS,SX: String; begin readln(SX); readln(YS); DSX:=Length(SX); DYS:=length(YS); for j:=1 to dys-dsx Do Begin if copy(ys,j,dsx)=sx then Delete(YS,j,dsx); end; writeln(YS); end. На самом деле все намного проще и короче=))) Сообщение отредактировано: volvo - 17.12.2004 11:33 |
AlaRic |
![]()
Сообщение
#3
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Когда же люди научаться читать правила, а?
|
reill |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Репутация: ![]() ![]() ![]() |
Это ты к чему???? ???
|
deman |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Репутация: ![]() ![]() ![]() |
Цитата Это ты к чему???? ??? В разделе по паскалю, надо и писать на паскале, для дельфи есть другой раздел |
AlaRic |
![]()
Сообщение
#6
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Тема "Помогите плиз" в следующий раз будет сразу же удаляться!
|
FB |
![]()
Сообщение
#7
|
Гость ![]() |
TO Reill:
Спасибо за помощь. To Admins : -[,простите тупого,я больше так не буду,честно-честно. |
AlaRic |
![]()
Сообщение
#8
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Поверим на слово! ;)
|
![]() ![]() |
![]() |
Текстовая версия | 22.06.2024 4:39 |