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

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

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

 
 Ответить  Открыть новую тему 
> Удаление элемента из строки
FB
сообщение 5.04.2003 7:04
Сообщение #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
сообщение 5.04.2003 8:05
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 52

Репутация: -  0  +


Я так понимаю ты писал свою лабу на Дельфи....
Я исправил твои ошибки, но пример привожу для паскаля, для того что бы использовать
его на Дельфи тебе нужно переправить ввод и вывод данных..
Заменить 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AlaRic
сообщение 5.04.2003 9:12
Сообщение #3


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Когда же люди научаться читать правила, а?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
reill
сообщение 6.04.2003 9:44
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 52

Репутация: -  0  +


Это ты к чему???? ???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
deman
сообщение 6.04.2003 9:55
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 40

Репутация: -  0  +


Цитата
Это ты к чему???? ???

В разделе по паскалю, надо и писать на паскале, для дельфи есть другой раздел
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AlaRic
сообщение 6.04.2003 12:12
Сообщение #6


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Тема "Помогите плиз" в следующий раз будет сразу же удаляться!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
FB
сообщение 7.04.2003 17:45
Сообщение #7


Гость






TO Reill:
Спасибо за помощь.
To Admins :
-[,простите тупого,я больше так не буду,честно-честно.
 К началу страницы 
+ Ответить 
AlaRic
сообщение 7.04.2003 17:54
Сообщение #8


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


Поверим на слово!    ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 22.06.2024 4:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"