Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/36: Рейтинг темы: голосов - 36, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
1

подсчет букв (цифр) в тексте на СИ++ Builder

27.11.2009, 09:38. Показов 7180. Ответов 12
Метки нет (Все метки)

ничего не нашел в интернете по данной теме. Задание такое:

Поместить на форму компоненты <RadioGroup> и два <RadioButton> из вкладки <Standart> визуальных компонентов. Для <RadioGroup> задать заголовок «Выбор действия». Для <RadioButton1> задать название «Буквы», Для <RadioButton1> задать название «Цифры». Добавить на форму кнопку, для которой задать заголовок «Подсчёт» и добавить обработчик подсчёта букв или цифр в зависимости от выбора в текстовом поле <Memo> и поместить результат в новом текстовом поле <Edit>, которое предварительно очищено от текста. Для поля <Edit> добавить <Label> с заголовком «Количество символов».

вот не знаю как осуществить подсчет букв (цифр) в тексте. Есть мысли сделать массивы с буквами и цифрами и сравнивать по ним символы текста , либо сравнивать каждый символ с типом переменной (числовой или символьный), но тут незнаю как встанет вопрос с запятыми, пробелами и другими знаками. Если есть какие мысли и не трудно, выложите программой. Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2009, 09:38
Ответы с готовыми решениями:

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

Множества.Дан текст из строчных латинских букв и цифр. Определить чего – букв или цифр – больше в этом тексте
Переделать код,чтобы там были множества.Или написать новый код с множествами PROGRAM pr1; VAR...

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

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

12
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
27.11.2009, 09:49 2
std::map
?
0
Супер-модератор
8767 / 2502 / 142
Регистрация: 07.03.2007
Сообщений: 11,856
27.11.2009, 10:01 3
Makssim, для определения числа есть замечательная функция isdigit, которая проверяет, является ли символ цифрой, а все остальное можно считать символами, грузите в мемо данные и проходитесь по всем строкам, все это просто
0
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
27.11.2009, 10:33  [ТС] 4
Спасибо за быстрые ответы.
Вопрос ещё в том как это отобразить в программе. Я написал как подсчитать кол-во заданного символа в этом тексте:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
if ((Form1->Memo1->Text.Length()==0) | (Form1->Edit1->Text.Length()==0))
ShowMessage("пустое поле");
 
 
else
{
int k=0;
for(int i=1; i<=Form1->Memo1->Text.Length(); i++)
   if (Form1->Memo1->Text[i] == Form1->Edit1->Text[1])
k=k+1;
 
 
Form1->Label2->Visible= true;
Label2->Caption="Количество символов =" + IntToStr(k);
}

думаю таким же образом можно сделать и подсчет букв (цифр). Вот не пойму как это сделать.
0
Супер-модератор
8767 / 2502 / 142
Регистрация: 07.03.2007
Сообщений: 11,856
27.11.2009, 10:55 5
Makssim, коды цифр 0х30 - 0х39, вот посимвольно сканируй все строки и сверяй коды с этими значениями, если условие выполняется - это цифра, что не понятного-то - не пойму никак
0
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
27.11.2009, 11:04  [ТС] 6
не понятно как воткнуть в программу. прошу прощенья, я не спец. только начинающий.
0
Супер-модератор
8767 / 2502 / 142
Регистрация: 07.03.2007
Сообщений: 11,856
27.11.2009, 12:27 7
Makssim, вы настолько начинающий, что даже не знаете, как писать if?
0
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
27.11.2009, 12:42  [ТС] 8
не пойму как связать проверку цифр с их кодами
0
Супер-модератор
8767 / 2502 / 142
Регистрация: 07.03.2007
Сообщений: 11,856
27.11.2009, 13:19 9
да уж, тяжко... особенно когда даже основ не знаешь...
if(str[i] >= 0x30 && str[i] <= 0x39)...

можно еще привести к типу unsigned char, но это важно, если вам надо считать кириллицу, она выходит отрицательная, если юзать просто char
1
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
27.11.2009, 14:35  [ТС] 10
Спасибо. не думал что так просто ))) А как поступить с буквами ? для них есть диапозон, чтоб в него не входили точки, запятые и другие знаки ?

Добавлено через 43 минуты
ааа, вот и про коды символов http://uchcom.botik.ru/educ/cl... bl.ru.html
0
Программист TH
290 / 145 / 12
Регистрация: 06.01.2009
Сообщений: 537
27.11.2009, 22:39 11
Цитата Сообщение от Makssim Посмотреть сообщение
Спасибо. не думал что так просто ))) А как поступить с буквами ? для них есть диапозон, чтоб в него не входили точки, запятые и другие знаки ?

Добавлено через 43 минуты
ааа, вот и про коды символов http://uchcom.botik.ru/educ/cl... bl.ru.html
да, сначала идут знаки, цифры, служебные твои запятые а потом и буквы диапозона:
http://www.ascii.org.ru/
0
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 6
30.11.2009, 10:45  [ТС] 12
я делал через оператор char, там коды брал по альтернативной таблице.
всё-равно что-то с синтаксисом не разберусь...


C++
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
int l=0;
int m=0;
//---------------------------------------------------------------------------
// подсчет букв
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{   for ( int i=1 ; Form1->Memo1->Text.Length() ; i++)
  { if (char (Form1->Memo1->Text[i]) == ((Text[i]>128)&(Text[i]<=241))
  l=l+1;
}
}
 
//---------------------------------------------------------------------------
//подсчет цифр
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
{  for ( int i=1 ; Form1->Memo1-> Text.Length() ; i++)
  { if (char (Form1->Memo1->Text[i]) = ((Text[i]>48)&(Text[i]<=57))
  m=m+1;
}
}
//---------------------------------------------------------------------------
// вывод, в зависимости от выбора букв или цифр
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if { (RadioButton1Click->Action=Enable)
   Label3->Caption="количество цифр =" + IntToStr(m);
if { (RadioButton2Click->Action=Enable)
   Label3->Caption="количество букв =" + IntToStr(m);
else
   Label3->Caption="заданных символов нет";
}
}
//---------------------------------------------------------------------------
0
1 / 1 / 0
Регистрация: 16.12.2009
Сообщений: 13
16.12.2009, 22:51 13
Доброго времени. Как посчитать количество символов в какой либо строке поля Мемо?
Заранее спасибо.

Добавлено через 34 минуты
ап

Добавлено через 20 минут
C++
1
Memo1->Lines->Strings[i].Length();
Всем спасибо! Нашел в дальней теме =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2009, 22:51

Подсчет слов из 5 букв в тексте
Составить программу на паскале подсчета слов из 5 букв в тексте. (в конце вводимого текста должна...

Подсчет цифр в тексте
вести текст, состоящий из слов и цифр. Подсчитать сколько цифр в тексте.

Подсчет цифр в тексте
Получил задание на создание программы в visual basic. Программа должна выводить текст из Worda и...

Подсчет числа гласных букв в тексте
Составьте программу подсчета числа гласных букв в тексте.


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

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

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