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

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

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

 
 Ответить  Открыть новую тему 
> Работа со строками - преобразование, ... удаляем нечётные символы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Александр

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


Кто поможет решить задачу на Delphi, буду очень благодарен:
Дана строка. Преобразовать ее, удалив каждый нечетный символ * и повторив каждый символ, предшествующий *.

З.Ы. Строки можно брать и .txt файла или вводить самому, через Write и Read.


--------------------
не дня без строчки кода.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Иллюзия мира
***

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

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


удаление:
  readln(s);
k:=0;
i:=0;
while i<>Length(s) do
begin
if s[i]='*' then
begin
inc(k);
if k mod 2<>0 then
begin
delete(s,i,1);
dec(i);
end;
end;
inc(i);
end;
writeln(s);

вставлять Insert'ом, вот только не очень понятно: вставлять после или до удаления
зы: не надо здесь про делфи, и через Write не вводится)

Сообщение отредактировано: Адель -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


code warrior
****

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

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



function Asterisk(const s: string): string;
var i: integer;
AsterCount: integer;
begin
if Length(s) = 0 then
Exit;
if s[1] = '*' then
AsterCount := 1
else
AsterCount := 0;
for i := 2 to Length(s) do begin
if s[i] = '*' then begin
inc(AsterCount);
Result := Result + s[i-1];
if asterCount mod 2 <> 0 then
Continue;
end;
Result := Result + s[i];
end;
end;



--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

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


Адель, если создать в Delphi консольное приложение, то всё можно smile.gif


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Можно... Только не в этом разделе... Здесь это будет нарушением правил, как например, пост №3 - ибо приведенный фрагмент Паскалем не откомпилируется! (Ну разные это языки, Паскаль и Дельфи!!! )
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Александр

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


Адель, я имел ввиду:

write ('Введите строку: ');
readln(s);



Я не прав? =)


--------------------
не дня без строчки кода.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Александр

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


Цитата(Адель @ 11.05.2007 9:58) *

не надо здесь про делфи

не путай Turbo Pascal и Object Pascal


--------------------
не дня без строчки кода.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

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

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


NEFFboy
Delphi, начиная с версии 7 - язык отдельный. Так нам сказали. В Borland.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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