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

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

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

 
 Ответить  Открыть новую тему 
> Задача, текст из последних букв заданного текста
сообщение
Сообщение #1





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

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


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

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


поиск
****

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

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


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


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





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

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


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

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

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


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

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

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


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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






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

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

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

 





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