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

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

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

> Задача, текст из последних букв заданного текста
STAB
сообщение 14.12.2008 20:49
Сообщение #1





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

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


В общем, нужно составить программу для создания текста, состоящего из последних букв всех слов заданного текста.

Долго искал на форуме что-то подобное, ничего не нашёл. Рассчитываю на помощь форумчан
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
renesko1
сообщение 14.12.2008 21:16
Сообщение #2


поиск
****

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

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


Есть специальный раздел, где описаны способы разделения текста на слова. А теперь просто загоняешь последние буквы этих слов в файл...


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
STAB
сообщение 15.12.2008 1:09
Сообщение #3





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

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


Цитата(renesko1 @ 14.12.2008 21:16) *

Есть специальный раздел, где описаны способы разделения текста на слова. А теперь просто загоняешь последние буквы этих слов в файл...

А поточнее?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 15.12.2008 4:36
Сообщение #4


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

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

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


Цитата(STAB @ 15.12.2008 1:09) *
А поточнее?
В FAQ заглядывал? Разбиение на слова. Все способы.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.12.2008 10:40
Сообщение #5


Гость






Цитата
Есть специальный раздел, где описаны способы разделения текста на слова
А зачем разбивать на слова, если нужно взять только последний символ каждого слова? Пробежать одним циклом по всей строке, и сделать одну единственную проверку для каждой ее буквы не проще?

const
delimiter = [' '];
var
s, res: string;
i: integer;
begin
s := 'Two consecutive single quotes are used to indicate' +
' a single quote in a string';
{ oeesedoeaeenag }
res := '';
for i := 1 to length(s) do begin
if ((i = length(s)) and not (s[i] in delimiter)) then res := res + s[i]
else
if ((i > 1) and (s[i] in delimiter) and not (s[i - 1] in delimiter))
then res := res + s[i - 1];
end;
writeln(res)
end.
 К началу страницы 
+ Ответить 
STAB
сообщение 17.12.2008 1:25
Сообщение #6





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

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


О, спасибо!!!

но: а если в тексте есть точки, запятые, или два пробела?


program posl_bukv;
USES CRT;
const
probel = [' '];
var
s, res: string;
p:byte;
i: integer;
begin
ClrScr;
readln(s);
res := '';

{ Удаляем лишние пробелы }
repeat
p := Pos(' ', s); { Здесь 2 пробела !!! }
if p > 0 then Delete(s, p, 1);
until p = 0;

{ Удаляем пробел в начале строки }
if s[1] = ' ' then
Delete(s, 1, 1);

p := 1;
while p <= length(s) do begin
if (s[p] = ',') or (s[p] = '.') then delete(s, p, 1) { удаляем символ, если он точка или запятая }
else inc(p);
end;

for i := 1 to length(s) do begin
if ((i = length(s)) and not (s[i] in probel)) then res := res + s[i]
else
if ((i > 1) and (s[i] in probel) and not (s[i - 1] in probel))
then res := res + s[i - 1];
end;
writeln(res);
readln;
end.



Ещё раз спасибо volvo!!!!!!!!

Сообщение отредактировано: STAB - 17.12.2008 1:42
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.12.2008 1:59
Сообщение #7


Гость






Цитата
но: а если в тексте есть точки, запятые
Значит все эти символы занести в множество Delimiter, и все будет продолжать работать...
Цитата
или два пробела?
Хоть десять, это не важно.

Итого, всех изменений:
const
delimiter = [' ', '.', ','];
 К началу страницы 
+ Ответить 

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

 



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