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

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

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

 
 Ответить  Открыть новую тему 
> Слова, оканчивающиеся на букву
сообщение
Сообщение #1


Пионер
**

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

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


Добрый Вечер!
Помогите Пожалуйста написать программу:
Предполагая, что количество символов в слове не превосходит 12. Найдите какое-нибудь слово, оканчивающееся на букву "у". Если таких слов нет, слудует вывести сообщение об этом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


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

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

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


Цитата(Merhaba @ 20.04.2011 19:23) *
Найдите какое-нибудь слово, оканчивающееся на букву "у".

А где его искать? В Google что ли? blink.gif
Поставь задачу нормально.

А вообще, если слово (и только оно одно) записано в переменной типа string, то последняя буква есть s[Length(s)]. Если тебе нужна независимость от регистра (большие и маленькие буквы), то надо еще определиться, в какой кодировке ты собираешься работать, ибо у тебя буква русская.

А так - чего там искать? Какаду smile.gif


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


Пионер
**

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

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


Цитата(Lapp @ 21.04.2011 11:05) *

А где его искать? В Google что ли? blink.gif
Поставь задачу нормально.

А вообще, если слово (и только оно одно) записано в переменной типа string, то последняя буква есть s[Length(s)]. Если тебе нужна независимость от регистра (большие и маленькие буквы), то надо еще определиться, в какой кодировке ты собираешься работать, ибо у тебя буква русская.

А так - чего там искать? Какаду smile.gif


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


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

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

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


Цитата(Merhaba @ 21.04.2011 20:03) *
Дана последовательность символов (возможно среди них имеются пробелы). Группы символов, разделенные пробелами (одним или несколькими) и не содержащими пробелов внутри себя, будем называть словами.
Так, это уже лучше.
Теперь скажи, как задана эта последовательность.
Вводится из файла? Вводится с клавиатуры? Содержится в строке? В одной или нелскольких?
Или еще как-то?

И сразу скажу: показывай, что у тебя получилось и с чем проблемы. Ты же не рассчитываешь, что мы все напишем за тебя с нуля - верно?
Говори, где затык. Поможем.


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


Пионер
**

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

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


Цитата(Lapp @ 22.04.2011 0:10) *

Так, это уже лучше.
Теперь скажи, как задана эта последовательность.
Вводится из файла? Вводится с клавиатуры? Содержится в строке? В одной или нелскольких?
Или еще как-то?

И сразу скажу: показывай, что у тебя получилось и с чем проблемы. Ты же не рассчитываешь, что мы все напишем за тебя с нуля - верно?
Говори, где затык. Поможем.


Последовательность вводится с клавиатуры...
Проблемы с вводом у меня нет... проблема - реализовать алгоритм, который будет находить и выводить какое-нибудь слово не превосходящее 12 и оканчивающее на букву...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Злостный любитель
*****

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

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


Делим строку на слова.
Потом ищем слово, у которого последняя буква - у.


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


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

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

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


Цитата(Merhaba @ 22.04.2011 8:50) *
Последовательность вводится с клавиатуры...
Проблемы с вводом у меня нет...

Отлично!
Давай хотя бы этот кусок.
Покажи, что ты хоть что-то можешь сам сделать.


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


Пионер
**

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

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


Цитата(Lapp @ 22.04.2011 12:10) *

Отлично!
Давай хотя бы этот кусок.
Покажи, что ты хоть что-то можешь сам сделать.


Bool := True;
p := 0;
For i:= 1 to Length(s) do
If s = ' ' then
Begin
If s[i-1] = 'у' Then
Begin
Bool := False;
For j := p + 1 to i do
Write(s[j]);
Write(' ');
End;
p := i;
End;
If Bool then Writeln('Таких слов нет');
?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


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

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

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


Цитата(Merhaba @ 22.04.2011 23:44) *
Bool := True;
p := 0;
For i:= 1 to Length(s) do
If s = ' ' then
Begin
If s[i-1] = 'у' Then
Begin
Bool := False;
For j := p + 1 to i do
Write(s[j]);
Write(' ');
End;
p := i;
End;
If Bool then Writeln('Таких слов нет');
?

Очень даже неплохо! )
Я подправил немного..
  Bool := True;
p := 1;
For i:= 0 to Length(s) do
If (i = Length(s)) or (s[i+1] = ' ') then Begin
If (i > 0) and (s[i] = 'у') Then Begin
Bool := False;
Write(Copy(s,p,i-p+1),' ');
End;
p := i+2;
End;
If Bool then Writeln('Таких слов нет');

У тебя кроме очевидных ошибок (типа if s = ' ') были неправильные обработки начала и конца строки (кстати, это тут довольно тонкое место, обрати внимание). Ну и - надо использовать стандартные функции для строк, а не циклы (где это возможно).

Вроде работает )). Но думаю, что я бы сделал это иначе..


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


Гость






КАКАДУ
КЕНГУРУ
ГУРУ
СДУРУ
АЗУ
АГУ
ЭМУ
ГНУ
ШОУ
УШУ
БАРАБУ
МАЛИБУ
АВИАШОУ
ПАСПАРТУ
МАНТУ
ВУДУ

 К началу страницы 
+ Ответить 

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

 





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