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

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

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

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


Пионер
**

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

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


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


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

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

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


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

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

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

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


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


Пионер
**

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

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


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

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

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

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


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


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

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

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


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

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


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


Пионер
**

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

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


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

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

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


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


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

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

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


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


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


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

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

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


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

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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Merhaba
сообщение 22.04.2011 22:44
Сообщение #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 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.04.2011 3:40
Сообщение #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 
 К началу страницы 
+ Ответить 
-НАСТЯ-
сообщение 8.12.2012 18:10
Сообщение #10


Гость






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

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

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

 



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