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

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

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

 
 Ответить  Открыть новую тему 
> Удаление элемента из строки
сообщение
Сообщение #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 -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


...
*****

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

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


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


Пионер
**

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

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


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


Новичок
*

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

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


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

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


...
*****

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

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


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


Гость






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


...
*****

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

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


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

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

 





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