Помощь - Поиск - Пользователи - Календарь
Полная версия: Слова, оканчивающиеся на букву
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Merhaba
Добрый Вечер!
Помогите Пожалуйста написать программу:
Предполагая, что количество символов в слове не превосходит 12. Найдите какое-нибудь слово, оканчивающееся на букву "у". Если таких слов нет, слудует вывести сообщение об этом.
Lapp
Цитата(Merhaba @ 20.04.2011 19:23) *
Найдите какое-нибудь слово, оканчивающееся на букву "у".

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

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

А так - чего там искать? Какаду smile.gif
Merhaba
Цитата(Lapp @ 21.04.2011 11:05) *

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

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

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


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

И сразу скажу: показывай, что у тебя получилось и с чем проблемы. Ты же не рассчитываешь, что мы все напишем за тебя с нуля - верно?
Говори, где затык. Поможем.
Merhaba
Цитата(Lapp @ 22.04.2011 0:10) *

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

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


Последовательность вводится с клавиатуры...
Проблемы с вводом у меня нет... проблема - реализовать алгоритм, который будет находить и выводить какое-нибудь слово не превосходящее 12 и оканчивающее на букву...
TarasBer
Делим строку на слова.
Потом ищем слово, у которого последняя буква - у.
Lapp
Цитата(Merhaba @ 22.04.2011 8:50) *
Последовательность вводится с клавиатуры...
Проблемы с вводом у меня нет...

Отлично!
Давай хотя бы этот кусок.
Покажи, что ты хоть что-то можешь сам сделать.
Merhaba
Цитата(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('Таких слов нет');
?
Lapp
Цитата(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 = ' ') были неправильные обработки начала и конца строки (кстати, это тут довольно тонкое место, обрати внимание). Ну и - надо использовать стандартные функции для строк, а не циклы (где это возможно).

Вроде работает )). Но думаю, что я бы сделал это иначе..
-НАСТЯ-
КАКАДУ
КЕНГУРУ
ГУРУ
СДУРУ
АЗУ
АГУ
ЭМУ
ГНУ
ШОУ
УШУ
БАРАБУ
МАЛИБУ
АВИАШОУ
ПАСПАРТУ
МАНТУ
ВУДУ

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.