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

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

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

 
Closed Topic Открыть новую тему 
> Интересный аспект решения задачи о позиционном выводе слов, сделать за один просмотр
сообщение
Сообщение #1


Гость






Условие задачи смотрите здесь: string, разбор по словам


!smoke2.gif

Предложение участникам форума (Показать/Скрыть)



Я очень извиняюсь за вторжение, но я взял на себя смелость выделить этот разговор в отдельную тему. В основном, чтобы не мешать автору решать свои изначальные проблемы. В оригинальной теме также делаю ссылку на эту ветку..
- Lapp
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Все "ова" выровнены, одно под другим.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






За один проход (то есть прямо во время считки с клавиатуры, не запоминая слова) вывести все слова ровно невозможно. А хранить массив сдвигов, а потом при выводе его учитывать - это уже 2 прохода.
Volvo, может ты просто в условии кой-чего мелким шрифтом написал, чего мы не заметили, типа что-то считается двойным проходом, а что-то нет? Юридические игры мне не интересны, если что.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
За один проход (то есть прямо во время считки с клавиатуры, не запоминая слова) вывести все слова ровно невозможно
Если кто-то чего-то не умеет - это не значит, что оно в принципе невозможно. С тобой разговор окончен.

P.S. Задачка выходит за рамки сортировки пузырьком, да, TarasBer? Ну ничего, скоро очередной наплыв студентов и школьников, кто-нибудь да задаст тот вопрос, который даже ты сможешь решить...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






> P.S. Задачка выходит за рамки сортировки пузырьком, да, TarasBer? Ну ничего, скоро очередной наплыв студентов и школьников, кто-нибудь да задаст тот вопрос, который даже ты сможешь решить...

Не понял, это ты подначиваешь так?
Не, не поведусь...

Ааа, я понял, это всё шутка в стиле Сэма Лойда (который обещал 1 000 000 баксов тому, кто поменяет 14 и 15 в игре в 15, не поменяв остальные фишки)...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


mea culpa
*****

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

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


Соорудил прогу, по немного другому принципу.. volvo в ЛС не ответил что-то, наверное, она не подходит под критерии, поэтому кладу сюда )

const mc=60;

var words:array[1..mc] of string;
s,sam,buf:string;
i,p,d,bd,j,k:integer;
lets:set of char=['a'..'z']+['A'..'Z'];
begin
writeln('Type in a text');
readln(s);
writeln('Type in a sample');
readln(sam);
p:=0;
d:=0;
bd:=0;
buf:='';
s:=s+' ';
for i:=1 to length(s) do begin
if (s[i] in lets) then buf:=buf+s[i] else begin
d:=pos(sam,buf);
if d>0 then begin
inc(p);
words[p]:=buf;
if d>bd then begin
for j:=1 to p do
for k:=1 to (d-pos(sam,words[j])) do words[j]:=' '+words[j];
bd:=d;
end else begin
for k:=1 to bd-d do words[p]:=' '+words[p];
end;
buf:='';
end;
end;
end;
for i:=1 to p do writeln(words[i]);
readln;
end.




(подразумевается, что слова разделены только пробелами. Писал в делфи, но в паскале тоже должно работать.)

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


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


Гость






> наверное, она не подходит под критерии

Для последовательности
Код

ова
аова
ааова
аааова
ааааова

итд

у тебя будет даже не 2 прохода, а целых n
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


mea culpa
*****

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

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


Цитата
(нет двух явных проходов - первого для нахождения indent-а, и второго - для печати),


У меня нет двух явных проходов - поиска максимального indent-а и печати. Не думаю, что тут имеется в виду сделать все в одном цикле.

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


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


Гость






Ну, слушай, явный, неявный... Я же сказал, что в юридические игры не играю.
К тому же у тебя алгоритмическая сложность квадратом стала.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


mea culpa
*****

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

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


Никаких игр, тут жирным шрифтом было выделено, в чем соль) А дело не в сложности (скорости выполнения), а алгоритме.

PS: эмм, извиняюсь за дезинформацию, сейчас получил ЛС от другого пользователя, и во входящих увидел мессагу от volvo, ещё днем пришедшую. Но оповещения не было, блин!

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


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


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

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

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


Володь, уточни, плз: за один проход без использования массивов?

Надо бы эту тему все же разделить. Негоже мешать человеку. Я сделаю сегодня попозже, OK?


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

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

 





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