Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
_Astarta_
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 31
1

Вывести слова, содержащие буквы «о» и «е»

11.06.2016, 20:12. Просмотров 445. Ответов 2
Метки нет (Все метки)

Дан произвольный текст на русском языке. Написать программу, которая выводит слова, содержащие буквы «о» и «е».
Не могу добавить условие, чтобы выводились слова с этими буквами. Сделал программу, которая просто разделяет текст на слова:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const r='.,;;?! ';
var tekst: string;
slovo: string[25];
i: byte;
begin
write('Введите текст - '); readln(tekst);
tekst:= tekst+' ';
slovo:= '';
writeln('В заданном тексте имеются следующие слова:');
for i:=1 to length(tekst) do
if pos(tekst[i], r)=0
then slovo:=slovo+tekst[i]
else begin
if slovo<>'' then writeln(slovo);
slovo:= ''
end;
end.
Добавлено через 21 час 59 минут
Сделал
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const o='о';
e='е';
p='О';
q='Е';
r=' ,.';
var  s,t:string;
i,j,k:integer;
begin
write('Введите текст: ');
readln(s);
s:=s+' ';       {Чтобы текст всегда заканчивался разделителем}
writeln('Cлова, содержащие буквы "о" и "е": ');
for i:=1 to length(s) do begin
if pos(s[i],r)=0
then t:=t+s[i]
else begin
if (t<>'') then  begin
for j:=1 to length(t) do begin
if (pos(t[j],o)<>0) or (pos(t[j],e)<>0) or (pos(t[j],p)<>0) or (pos(t[j],q)<>0)
then begin
writeln(t);
k:=k+1;   {Считаем количество выведенных слов}
end;
end;
t:='';     {Обнуляем переменную, для нормального вывода ответа}
end;
end;
end;
if k=0 then writeln('Таких нет');     {Если ни одно слово не подходит по условию}
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2016, 20:12
Ответы с готовыми решениями:

Вывести на экран слова, содержащие три буквы
всем привет, помогите решить: Дан текст. Вывести на экран слова, содержащие...

Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой.Вывести на экран слова,...

Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова,...

Для трех исходных строк вывести на экран все слова из строки, содержащие по 4 буквы.
Написать программу в соответствии с заданием. Вычислительный процесс выполнить...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова,...

2
ChiliPalmer
20 / 20 / 6
Регистрация: 09.04.2016
Сообщений: 145
12.06.2016, 14:31 2
_Astarta_, а если в слове будет несколько букв О или Е ( например ТЕРЕМ или МОЛОКО) - твоя программа выведет слово на экран столько раз, сколько эта буква встречается в слове. Ты считаешь - это правильно?

Добавлено через 16 минут
П.с. Зачем в строке 18 делать цикл для каждого символа слова Т, если функция POS предназначена как раз для того, чтобы определять появление(номер позиции) подстроки в строке - типа Pos(o, T)? Такой вариант кода позволит без цикла определять - есть ли в исходной строке нужный тебе символ. Если цикл не убирать, то вместо функции Pos(в твоем написании) можно использовать просто оператор сравнения типа if (T[j]=o) or (T[j]=e) or { и так далее... }, но тогда слово будет выведено на экран столько раз, сколько буква встречается в слове, а это неправильно.
0
_Astarta_
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 31
13.06.2016, 13:49  [ТС] 3
Про 18-ую строку понял, исправил. Про программу в целом: нет, я не считаю, что это правильно. Но как исправить-не знаю
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2016, 13:49

Выделить из предложения слова, содержащие две или более одинаковые буквы
Строки (string) и использование библиотечных функций для их преобразования....

Строки. Преобразовать строку: оставить слова, содержащие буквы и цифры, остальные удалить
Преобразовать строку таким образом, чтобы в ней остались только слова,...

Вывести на экран слова,содержащие три буквы
1.дана символьная строка ,содержащая текст,заканчивающийся точкой. Вывести на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru