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

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

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

 
 Ответить  Открыть новую тему 
> Строки
сообщение
Сообщение #1


Новичок
*

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

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


Задача в картинке, первая сверху.
Вот то, что сделал я, но оно че-то не катит((( Помогите, а?
Program org;
var c,s1:string;
begin
writeln('Vvedite stroku: ');
readln©;
while(c<>'') do
begin
if pos('absd',c)<>0 then
begin s1:=s1+copy(c,1,pos('abcd',c)-1);
delete(C,1,pos('absd',c)+3); end
else begin s1:=s1+c;
delete(c,1,length©); end;
end;
writeln('s1= ',s1);
readln;
end.


P.S. От этой задачи зависит мой автомат на сессии. Если я ее не сдам - придется экзамен сдавать((( Эту задачу сдать мне надо уже завтра... Помогите пожалуйста

Сообщение отредактировано: org777 -


Эскизы прикрепленных изображений
Прикрепленное изображение

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


mea culpa
*****

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

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


Группы букв вида abcd - это значит именно abcd, или возможно wxyz?

Добавлено через 4 мин.
Если именно 'abcd', то можно попробовать так:

const s='abcd';
var a,n:integer;
s2:string;
s3:string[4];
x:char;
begin
s2:='';
writeln('Введите N');
readln(n);
for a:=1 to n do
begin
writeln('Введите символ №',a);
readln(x);
s2:=s2+x;
end;
writeln;
writeln(s2);
for a:=1 to n-4 do
begin
s3:=copy(s2,a,4);
if s3='abcd' then begin
delete(s2,a,4);
end;
end;
writeln(s2);
readln;
end.


Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
Задача в картинке, первая сверху.
Задачка-то с подвохом... Вот, смотри: "def aabcdbcdef" - строка. Что получится, если убрать вхождения abcd?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


Спасибо, но че-то не так...
Если я верно представляю суть - то надо просто убрать эти 4 буквы из вводимой строки... Тогда не так вроде должен выглядить код... но это если я правильно понял ее... Блин... тупая задача! ypriamii.gif

Добавлено через 1 мин.
volvo, ну если я правильно понял - должен получиться 0 или пробел, так?

Добавлено через 1 мин.
А не - "f f", да?


--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Вот видишь, ты сам не представляешь, что должно получиться, и убирать ли только те символы, которые идут подряд: ABCD (но и тут будет подвох, именно на той строке, что я показал. Удалишь одно вхождение ABCD, появится еще одно. Его что, тоже удалять? В первоначальной строке его ж не было), или вообще все символы A, B, C и D... Как же ты хочешь, чтоб тебе помогли. Условие надо уточнить... Выбери для себя что-то одно, подскажем, как это сделать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

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

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


там написанно все группы букв вида abcd. Значит я так понимаю только тогда, когда они идут вместе подряд. Т.е. fabcdbcad = f....bcad. Вот это, я так полагаю))
volvo, напиши код пожалуйста, если можешь...

Сообщение отредактировано: org777 -


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


Гость






Цитата
напиши код пожалуйста, если можешь...
Да я-то смогу... Только тогда зачем тебе дано N? Ну ладно, удалить из строки - так из строки...
Program org;
var
s: string;
p: integer;
begin
writeln('Vvedite stroku: ');
readln(s); { s := 'ab abcd aabcd bcdabcabcd'; }
repeat
p := pos('abcd', s);
delete(s, p, 4); { <--- Можно добавить условие if p > 0 then, можно и не добавлять }
until p = 0;
writeln(s);
readln;
end.


Update: Да, была небольшая опечатка... Поправил.

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

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

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


Как-то странно он удаляет эти буквы... из строки "ab abcd aabcd bcdabcabcd" оставляет "ab a bcdbcadc"
Но все-равно спасибо! Я буду сдавать эту версию, твою, т.к. считаю, что она должна быть верной)

Сообщение отредактировано: org777 -


--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

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

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


Цитата(org777 @ 20.12.2008 7:45) *
Как-то странно он удаляет эти буквы... из строки "ab abcd aabcd bcdabcabcd" оставляет "ab a bcdbcadc"
Но все-равно спасибо! Я буду сдавать эту версию, твою, т.к. считаю, что она должна быть верной)
Я бы сказал, он еще страннее работает: из любой строки делает одну единственную букву: s smile.gif.

Но если исправить эту (как я полагаю) опечатку, то странны уже твои слова, org777. Потому что мне из строки:
ab abcd aabcd bcdabcabcd
- программа оставила вполне само собой разумеющееся:
ab  a bcdabc


А вообще, при в определении что правильно, а что нет, рекомендую все-таки больше принимать во внимание факты smile.gif.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

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

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


Короче, действительно надо было удалять только abcd, когда они вместе, т.е. считать их за одно слово.
У меня приняли код volvo с одной оговоркой: надо было добавить if p>0, что я в общем и сделал еще дома)) И отнес уже рабочую задачку)) Зачет автоматом поставили, я теперь от программирования свободен до 2 семместра, т.е. до февраля! yahoo!.gif
Спасибо вам всем огромное!!


--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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