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

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

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

 
 Ответить  Открыть новую тему 
> Строки
org777
сообщение 19.12.2008 19:34
Сообщение #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 - 19.12.2008 19:36


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

--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 19.12.2008 19:59
Сообщение #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 - 19.12.2008 20:05


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


Гость






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


Новичок
*

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

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


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

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

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


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


Гость






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


Новичок
*

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

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


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

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


--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.12.2008 1:58
Сообщение #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 - 20.12.2008 15:34
 К началу страницы 
+ Ответить 
org777
сообщение 20.12.2008 7:45
Сообщение #8


Новичок
*

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

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


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

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


--------------------
Когда вам говорят - "придурок" - это намек на то, что рядом с вами находится дура.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 20.12.2008 8:52
Сообщение #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 
 К началу страницы 
+ Ответить 
org777
сообщение 20.12.2008 15:19
Сообщение #10


Новичок
*

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

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


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


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

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

 



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