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

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

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

> строки
сообщение
Сообщение #1





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

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


Помогите решить задачу....плз
Дана строка символов, состоящая из слов (слова разделены пробелами). Группы символов, разделенные пробелами и не содержащие пробелы внутри себя, будем называть словами. Напечатать эту же последовательность слов, но в обратном порядке.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
сообщение
Сообщение #2


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

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

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


Разбиение строки на слова

заносишь слова в массив и выводишь его на экран с конца, добавляя пробелы.


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


Гость






Угу... А сколько пробелов добавлять? Надо же это где-то запомнить... Иначе разделители просто потеряются, а это может быть недопустимо... Надо разворачивать "на лету"...
var
s: string;
i, again: integer;

begin
s := 's start finish end begin ';

i := length(s);
while i >= 1 do begin

while (i >= 1) and (s[i] = ' ') do begin
write(s[i]); dec(i)
end;

while (i >= 1) and (s[i] <> ' ') do dec(i);
again := i + 1;
if again >= 1 then
while (again <= length(s)) and (s[again] <> ' ') do begin
write(s[again]); inc(again);
end;

end;
writeln;
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Спасибо большое!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Уважаемый volvo! Может я что-то не так делаю, но программа выводит ту же строку....почему-то...
А вот эта программа почему-то не обрабатывает последнее слово и еще она рассчитана на один побел между словами, что нужно там исправить? Пожалуйста...

var
s, s1, str: string;
a, i : word;

begin

Writeln ('Please input string');
Readln (s);
a:=1;
While i<> Length (s) do
begin
i:=i+1;
If s[i]=' ' then
begin
str:= copy (s,a,i);
Insert (str,s1,1);
end;
a:=i+1;
end;
Writeln (s1);
Readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
программа выводит ту же строку

Какую строку ты вводишь в начале? Вот что программа распечатывает мне:
Код
      begin    end     finish start    s
Как видишь, те же слова, но в обратном порядке...

P.S. Я надеюсь, ты не распечатываешь строку через Writeln(s)?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


Цитата(volvo @ 18.12.2005 0:39) *

Какую строку ты вводишь в начале? Вот что программа распечатывает мне:
Код
      begin    end     finish start    s
Как видишь, те же слова, но в обратном порядке...

P.S. Я надеюсь, ты не распечатываешь строку через Writeln(s)?


Прошу прощения.(Пальцы кудрявые). Работает программа. А как насчет моей? Очень плохо?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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