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

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

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

> string, разбор по словам, и позиционный вывод
сообщение
Сообщение #1





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

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


помогите решить задачу, или подскажите
смысл.
дан список слов, максимум слов может быть 60.
и в зависимости оттого есть ли в слове сочетание букв ова нужно записать слова в таком порядке
например:
список который задан

немцова
корова
оваоова
овал

результат

немцова
_корова
____оваоова
оваоова
____овал

только вместо '_' будет пробел
максимальная длина рядка например 170

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


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

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

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


Цитата(superseal @ 5.12.2010 3:22) *
в зависимости оттого есть ли в слове сочетание букв ова нужно записать слова в таком порядке
Правильно я понимаю, что слова, в которых нет этого семпла, нужно опускать?
В любом случае, задача не из самых простых. Делать нужно в два прохода, поскольку заранее неизвестен максимальный индент. Так что надо сначала все просмотреть и определить его. А потом на втором проходе уже печатать.
Я написал полное решение. Там, правда только английские буквы, русских нет. Работает вот так:
Type in a text: abcdef snabcsnnn abchjhjhhjhjhjhjh mnabcnmabcnmabcnmabcnm asdabc
Type in a sample: abc
abcdef
snabcsnnn
abchjhjhhjhjhjhjh
mnabcnmabcnmabcnmabcnm
mnabcnmabcnmabcnmabcnm
mnabcnmabcnmabcnmabcnm
mnabcnmabcnmabcnmabcnm
asdabc
Hit Enter..


Настя, как у тебя с Паскалем дела? Можешь начать это делать? Я не хочу давать тебе полное решение, ведь ты же так ничему не научишься - верно? Могу подкинуть тебе для затравки некоторое начало, в котором есть function for getting next word из заданной строки. Попробуешь продолжить?

const
Letters: set of char= ['A'..'Z']+['0'..'9'];

var
s: string;


function GetNextWord: string;
var
w: string;
begin
while (Length(s)>0) and not (UpCase(s[1]) in Letters) do Delete(s,1,1);
w:= '';
while (Length(s)>0) and (UpCase(s[1]) in Letters) do begin
w:= w+s[1];
Delete(s,1,1)
end;
GetNextWord:=w
end;

var
Text,Sample,w,v: string;
p,Max,i: integer;

begin
Write('Type in a text: ');
ReadLn(Text);
Write('Type in a sample: ');
ReadLn(Sample);
s:= Text;
Max:=0;
repeat
w:=GetNextWord;
...

Все, что непонятно - спрашивай.


М
На будущее: делай нормальный заголовок



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

Сообщений в этой теме


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

 





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