Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 4

Найти и записать в Memo слова содержащие более 3х гласных букв

16.06.2012, 16:17. Показов 1605. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
суть программы изложена в названии темы. текст вводится в компонент Memo. Моя процедура анализирует введённый текст и сообщает о количестве слов, содержащих более 3х гласных. Нужно как то вписать эти слова в новый Memo2. Внимание вопрос: как?

вот моя процедура:
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
const
GlasnieSymb = ['à', 'å', '¸', 'è', 'î', 'ó', 'û', 'ý', 'þ', 'ÿ',
'À', 'Å', '¨', 'È', 'Î', 'Ó', 'Û', 'Ý', 'Þ', 'ß'];
var
s:string;
i,kolvo,glasnie:integer;
begin
s:=memo1.lines.Text;
glasnie := 0;
kolvo := 0;
for i:=1 to Length(s) do
begin
if s[i] in GlasnieSymb then inc(glasnie);
if (s[i]=' ') or (i=Length(s)) then
begin
if glasnie>3 then inc(kolvo);
glasnie:=0;
end;
end;
if kolvo>0 then
s:='Кол-во слов, в которых более 3 гласных: ' + IntToStr(kolvo)
else
s:='Слов, в которых более 3 гласных нет';
ShowMessage(s);
end;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.06.2012, 16:17
Ответы с готовыми решениями:

Найти все слова, содержащие наибольшее количество гласных латинских букв
Помогите пожалуйста. последняя задача осталась. Не могу сообразить как правильно написать. Дан текстовый файл f, каждая строка...

String. Найти в тексте слова, в которых содержится наибольшее количество гласных букв
Помогите решить задачу. Пользователем вводится предложение затем выводит слово в котором наибольшее кол-во гласных и само предложение....

Найти слова, в которых не более 3-х различных букв
подскажите каким циклом в тексте можно найти слова, в которых не более 3-х различных букв?

9
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
16.06.2012, 17:55
вместо
Цитата Сообщение от bichking93 Посмотреть сообщение
ShowMessage(s);
прописать Memo2.Lines.Add(s);
1
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 4
16.06.2012, 18:02  [ТС]
тогда в memo2 записывается вся строка из memo1, а не конкретно слова где больше 3х гласных

спс, конечно, но вопрос остаётся открытым
0
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
16.06.2012, 18:05
Цитата Сообщение от КонецСвета Посмотреть сообщение
вместо прописать Memo2.Lines.Add(s);
Судя по коду , в переменной S будут содержаться не сами слова, а их кол-ва.

По сабжу: ТС, я бы сначала создал массив и сделал функцию парса, которая на выходе будет выдавать слова, используя эту функцию в массив получаю все слова затем нужна функцию которая будет проверять сколько гласных в каждом элементе массива(т.е. слове; кстати код этой функции у тебя уже написан), затем просто пробегаемся уже по заполненному словами массиву и проверяем через вторую функцию, если гласных больше 3х то memo2.lines.add(massiv(i)). I - это параметр цикла
2
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 4
16.06.2012, 18:09  [ТС]
Nikitko_Cent, мысль ясна. спасибо

...но будучи чайником в делфи не знаю как реализовать

если всё так просто, можешь в коде описать?
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
16.06.2012, 18:10
Лучший ответ Сообщение было отмечено как решение

Решение

извини, моя невнимательность...
Delphi
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
31
32
33
34
procedure TForm1.Button1Click(Sender: TObject);
const  GlasnieSymb = ['а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я',
'А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я'];
var
s, sl:string;
i,kolvo,glasnie:integer;
begin
s:=memo1.lines.Text;
glasnie := 0;
kolvo := 0;
sl:='';
sn:='';
for i:=1 to Length(s) do
begin
sl:=sl+s[i];
if s[i] in GlasnieSymb then inc(glasnie);
if (s[i]=' ') or (i=Length(s)) then
  begin
  if glasnie>3 then
    begin
    inc(kolvo);
    Memo2.Lines.Add(sl);
    end;
  glasnie:=0;
  sl:='';
  end;
end;
if kolvo>0 then
s:='Кол-во слов, в которых более 3 гласных: ' + IntToStr(kolvo)
else
s:='Слов, в которых более 3 гласных нет';
ShowMessage(s);
 
end;
3
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
16.06.2012, 18:14
Цитата Сообщение от bichking93 Посмотреть сообщение
Nikitko_Cent, мысль ясна. спасибо

...но будучи чайником в делфи не знаю как реализовать

если всё так просто, можешь в коде описать?
Погоди минут 10

Добавлено через 3 минуты
Неуспел
0
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 4
16.06.2012, 18:15  [ТС]
Благодарю, КонецСвета. Всё работает как нужно
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
16.06.2012, 18:15
Nikitko_Cent, почему? ваш вариант будет другим, почему бы и нет =)
1
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
16.06.2012, 18:18
Цитата Сообщение от КонецСвета Посмотреть сообщение
Nikitko_Cent, почему? ваш вариант будет другим, почему бы и нет =)
Ну всмысле вы меня опередили с кодом
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2012, 18:18
Помогаю со студенческими работами здесь

Найти в массиве слова, у которых более 5 различных букв
как найти в массиве слова, у которых более 5 различных букв

Найти и вывести все слова,у которых число гласных букв пpевышает число согласных.
Помогите написать программу пожалуйста! Дан массив из n слов пpоизвольной длины ,но не пpевышающих 80 символов.Символами могут быть...

Обнаружить в заданном тексте слова, содержащие более трех гласных букв
Обнаружить в заданном тексте слова, содержащие более 3 - х гласных букв, сначала распечатать их, а потом заменить гласные буквы символом...

Переписать текст в файл output.dat , удалив из текста слова, содержащие более двух различных гласных букв
Помогите решить пожалуйста) Файл Input.dat содержит несколько строк текста. Слова в тексте могут разделяться пробелами и знаками...

Найти слова, которые состоят из 3х и более букв и имеют более 2х гласных
Написать функцию, которая выводит слова, которые состоят из 3 х и более букв и имеющих более 2х гласных. Результат сохранить в файл...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru