Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 12.05.2014
Сообщений: 27
1

Посчитать для каждой строки количество гласных

23.06.2014, 13:00. Показов 1489. Ответов 8
Метки нет (Все метки)

Посчитать для каждой строки
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
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    if Key=#13
      then begin
              ListBox1.Items.Add(Edit1.Text);
              Edit1.Clear;
            end;  
end;
 
procedure TForm1.BitBtn2Click(Sender: TObject);
const
    sogl=['É','Ö','Ê','Í','Ã','Ø','Ù','Ç','Õ','Ú','Ô','Â','Ï','Ð','Ë','Ä','Æ','×','Ñ','Ì','Ò','Ü','Á','é','ö','ê','í','ã','ø','ù','ç','õ','ú','ô','â','ï','ð','ë','ä','æ','÷','ñ','ì','ò','ü','á'];
var
  i:word;
  stroka:string;
  kol:integer;
begin
  stroka:=ListBox1.Items.Text;
  kol:=0;
 for i:=1 to length(stroka) do begin
  if stroka[i] in sogl then inc(kol);
                                  end;
  ListBox2.Items.Add('Êîëè÷åñòâî ñîãëàñíûõ â ñòðîêå= '+IntToStr(kol));
 
end;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2014, 13:00
Ответы с готовыми решениями:

В строке посчитать количество гласных и согласных и записать из количество в конце строки
В строке посчитать количество гласных и согласных и записать из количество в конце строки....

Посчитать количество строк файла, для каждой отдельной строки определить количество символов и слов
В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить...

Посчитать количество слов для каждой введенной строки
Вывести в браузер простую форму, которая отправляет на сервер 3 строки, вводимых пользователем. В...

Для каждой строки массива A 6×4 посчитать количество положительных элементов
Для каждой строки массива A 6×4 посчитать количество положительных элементов. Результат записать...

8
Почетный модератор
64089 / 47498 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
23.06.2014, 13:11 2
Лучший ответ Сообщение было отмечено PAHASTAR как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  i:word;
  stroka:string;
  kol:integer;
begin
for i:=0 to ListBox1.Items.Coount-1 do
 begin
  stroka:=ListBox1.Items[i];
  kol:=0;
  for i:=1 to length(stroka) do
  if stroka[i] in sogl then inc(kol);
  ListBox2.Items.Add('Количество согласных в строке= '+IntToStr(kol));
 end;
end;
1
838 / 733 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
23.06.2014, 13:13 3
PAHASTAR,
Вот еще подсчет через case вариантик.
Только считает сразу во всем тексте, тут я думаю проблем небудет у тебя переделать на построчное считывание.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  i, s: integer; //для цикла
  str: string; //строка
begin
  s := 0;
  Str := RichEdit1.Text;
  for i := 1 to Length(Str) do
    case Str[i] of
      'Й','Ц','К','Н','Г','Ш','Щ','З','Х','Ъ','Ф','В','П','Р','Л','Д','Ж','Ч','С','М','Т','Ь','Б','й','ц','к','н','г','ш','щ','з','х','ъ','ф','в','п','р','л','д','ж','ч','с','м','т','ь','б': //перечисление
        Inc(s);
    end;
  ShowMessage('Количество согласных в строке= '+ IntToStr(s));
end;
0
Почетный модератор
64089 / 47498 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
23.06.2014, 13:16 4
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Только считает сразу во всем тексте
А это?
Delphi
1
ShowMessage('Количество согласных в строке= '+ IntToStr(s));
И чем в этом случае case лучше if? Лишь бы что-то ляпнуть? У Саши учишься?
0
838 / 733 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
23.06.2014, 13:45 5
Цитата Сообщение от Puporev Посмотреть сообщение
И чем в этом случае case лучше if?
Он ни чем нелучше, просто был применен другой подход к решению данной зачи, а автор выберет из всех вариантов более ему приемлимый.

Вот еще через множества вариант накидал здесь есть оператор if и нету оператора case.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
  i,s: integer;
  str: string;
  sogl: set of Char;
begin
  s := 0;
  sogl := ['É', 'Ö', 'Ê', 'Í', 'Ã', 'Ø', 'Ù', 'Ç', 'Õ', 'Ú', 'Ô', 'Â', 'Ï', 'Ð', 'Ë', 'Ä', 'Æ', '×', 'Ñ', 'Ì', 'Ò', 'Ü', 'Á', 'é', 'ö', 'ê', 'í', 'ã', 'ø', 'ù', 'ç', 'õ', 'ú', 'ô', 'â', 'ï', 'ð', 'ë', 'ä', 'æ', '÷', 'ñ', 'ì', 'ò', 'ü', 'á'];
  Str := RichEdit1.Text;
  for i := 1 to Length(Str) do
    if Str[i] in sogl then inc(s);
   ShowMessage('Êîëè÷åñòâî ñîãëàñíûõ âî âñåì òåêñòå = '+ IntToStr(s));
end;
Подсчитать построчно в строке Str я думаю невызовет особых проблем. Вам написали это уже как.
0
droider
23.06.2014, 13:49
  #6

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
У Саши учишься?
вряд ли Саша учится и собирается это делать

0
838 / 733 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
23.06.2014, 14:02 7
PAHASTAR,
Если со множествами будеш, то вот сокращенный вариант их записи:
Delphi
1
sogl := ['Á'..'Ä', 'Æ', 'Ç', 'É', 'Ê'..'Í', 'Ï'..'Ò', 'Ô'..'Ú', 'Ü', 'á'..'ä', 'æ', 'ç', 'é', 'ê'..'í', 'ï'..'ò', 'ô'..'ú', 'ü'];
0
Почетный модератор
64089 / 47498 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
23.06.2014, 14:30 8
Поскольку гласных меньше, можно еще так.
Delphi
1
2
sogl:=['А'..'я']-['А','Е','И','О','У','Ы','Э','Ю','Я',
                  'а','е','и','о','у','ы','э','ю','я'];
1
1 / 1 / 0
Регистрация: 12.05.2014
Сообщений: 27
23.06.2014, 20:11  [ТС] 9
Спасибо за помощь!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2014, 20:11

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

Посчитать количество гласных букв в первом и последнем словах строки.
Дана непустая последовательность слов из строчных букв, в конце точка. Посчитать количество гласных...

Удалить из каждой нечетной строки слово, содержащее наибольшее количество гласных букв
Удалить из каждой нечетной строки слово, содержащее наибольшее количество гласных букв.

Посчитать сумму положительных чисел для каждой строки и количество положительных во всем двухмерном массиве
Дан двухмерный массив M*N элементов. Посчитать сумму положительных чисел для каждой строки и...

Посчитать в строке количество русских гласных букв. Вывести все русские гласные буквы строки в алфавитном порядке
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

В тексте подсчитать количество гласных «A», «O», «E», «I», «U», «Y» отдельно для каждой буквы
В тексте из 20 символов латинских букв подсчитать количество глас-ных «A», «O», «E», «I», «U», «Y»...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru