Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 35
1

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

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

Author24 — интернет-сервис помощи студентам
Дан произвольный текст на русском языке. Написать программу, которая выводит слова, содержащие буквы «о» и «е».
Не могу добавить условие, чтобы выводились слова с этими буквами. Сделал программу, которая просто разделяет текст на слова:
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2016, 20:12
Ответы с готовыми решениями:

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

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

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

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

2
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
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 35
13.06.2016, 13:49  [ТС] 3
Про 18-ую строку понял, исправил. Про программу в целом: нет, я не считаю, что это правильно. Но как исправить-не знаю
0
13.06.2016, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2016, 13:49
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru