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

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

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

> Интересная задача на строковый тип данных
Rocket
сообщение 6.12.2006 18:32
Сообщение #1


Знаток
****

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

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


good.gif Помогите пожалуйста написать программу:
Дана строка, состоящая из русских слов, разделённых пробелами (одним или несколькими).
Вывести строку, содержащую эти же слова, но расположенные в обратном алфавитном порядке.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 11)
volvo
сообщение 6.12.2006 19:50
Сообщение #2


Гость






Эта задача интересна для тебя... Для других - нет, потому, что уже решена. Ищи...
 К началу страницы 
+ Ответить 
Rocket
сообщение 7.12.2006 14:28
Сообщение #3


Знаток
****

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

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


Цитата(volvo @ 6.12.2006 19:50) *

Эта задача интересна для тебя... Для других - нет, потому, что уже решена. Ищи...

А ты знаешь, где она есть? Где искать?
Подскажи как решать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 7.12.2006 15:39
Сообщение #4


Гуру
*****

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

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


http://forum.pascalnet.ru/index.php?act=Search&f=12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 7.12.2006 21:50
Сообщение #5


Знаток
****

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

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


Я искал, но ничего подобного не нашёл.
Какие хоть у кого есть мысли!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 7.12.2006 21:56
Сообщение #6


Perl. Just code it!
******

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

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


И что же ты искал ?

Поиск -> "обратном алфавитном порядке"



Разбиение на слова. Все способы.

Простейший вариант: Получаешь массив слов, и выводишь его с конца
По сложнее: "развертывешь" строку "на ходу" c конца и выводишь слова.

Все это есть в приведенной ссылке.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2006 2:58
Сообщение #7


Гость






Цитата
Получаешь массив слов, и выводишь его с конца
Не совсем...

Получаешь массив - Да, потом - сортируешь по убыванию, и только потом выводишь smile.gif
 К началу страницы 
+ Ответить 
klem4
сообщение 8.12.2006 7:17
Сообщение #8


Perl. Just code it!
******

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

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


yes2.gif

Мой нещастный мозг почемуто интерпритировал задание как "вывести слова строки в обратном порядке", volvo естественно прав.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Rocket
сообщение 9.12.2006 23:09
Сообщение #9


Знаток
****

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

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


Ребятушки! Программистушки! Нужно решать непосредственно со строкой, а не разворачивать её в массив.
Светлая голова найдётся? Задачу нужно решить позарез!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.12.2006 6:16
Сообщение #10


Perl. Just code it!
******

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

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


Ты читать умеешь ?

Цитата
"развертывешь" строку "на ходу" c конца и выводишь слова.


Где тут хоть одно слово о массиве ?


погорячился я что-то.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.12.2006 16:36
Сообщение #11


Гость






Цитата
Нужно решать непосредственно со строкой, а не разворачивать её в массив.
Ты сам хотел...
var
s, _word, _max: string;
i, start: integer;
finished: boolean;

begin
write('s = '); readln(s);

s := s + ' ';
repeat
finished := true;
_word := ''; _max := '';

for i := 1 to length(s) do begin

if s[i] = ' ' then begin
if _word > _max then begin

start := i - length(_word);
_max := _word;

end;
_word := '';
end
else begin
_word := _word + s[i];
finished := false;
end;

end;

if not finished then begin
delete(s, start, length(_max));
write(_max: length(_max) + 1);
end
else writeln;

until finished;
end.

 К началу страницы 
+ Ответить 
Rocket
сообщение 12.12.2006 18:09
Сообщение #12


Знаток
****

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

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


Большое спасибо и бесконечный respect Volvo. good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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