Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 37

Вероятность появления каждого символа в Memo

14.03.2014, 10:22. Показов 2138. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите!
Как подсчитать вероятность появления каждого символа в Memo.
Я текстовый файл записываю в Memo, и нужно подсчитать вероятность появления каждого символа там, и вывести в Memo2 "Символ - Вероятность". Напривер Символ "a" - p(i)=0.5 .
Помогите решить проблему.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2014, 10:22
Ответы с готовыми решениями:

Как подсчитать вероятность появления каждого символа в тексте.
Как подсчитать вероятность появления каждого символа в тексте. Например дана предложение: The method was attributed to Fano, who later...

Строка: посчитать частоту появления каждого символа
Для произвольного текста на произвольном языке с учетом регистра посчитать частоту появления каждого символа.

Вероятности появления каждого из двух независимых событий А и В соответственно равны 0,6 и 0,5. Найти вероятность появления только одного из них
Вероятности появления каждого из двух независимых событий А и В соответственно равны 0,6 и 0,5. Найти вероятность появления только одного...

6
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
14.03.2014, 13:23
Цитата Сообщение от masikus Посмотреть сообщение
Помогите!
Как подсчитать вероятность появления каждого символа в Memo.
Я текстовый файл записываю в Memo, и нужно подсчитать вероятность появления каждого символа там, и вывести в Memo2 "Символ - Вероятность". Напривер Символ "a" - p(i)=0.5 .
Помогите решить проблему.
Лично мне не совсем понятно что подразумевается под вероятностью.
Тоесть я должен просмотреть все символы в Мемо, посчитать их количество, и определить процент содержания этого символа в тексте, и опираясь на этот процент определять вероятность чего то там "появления" для каждого символа.?
поясните конкретнее
0
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 37
14.03.2014, 15:46  [ТС]
Ну да посчитать количество всех символов, и подсчитать количество каждого символа
Например, Символ "а" в упоминается в тексте 15 раз, всего символов 100, вероятность его появления в тексте равна 15/100
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
14.03.2014, 17:36
Сначала тебе надо сделать массив символов в единичном числе.
То есть из всего текста удали все символы "дублеры".
Потом сравни этот массив с текстом, и каждый раз когда символы совпадут счетчиком суммируй результат.
В итоге у тебя будет 2 массива
1. с Буквами.
2. с Цифрами.
порядок в них будет соответствовать действительности.
потом уже делай что хочешь...будет время после работы помогу с кодом...пока что попытайтесь сами.
1
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
17.03.2014, 16:58
Лучший ответ Сообщение было отмечено masikus как решение

Решение

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

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
34
35
36
37
AnsiString buff2="";
AnsiString itog="";  //буферные переменные
int n=0;   //счетсчик
int mass[1000]; //массив (размерность задайте под размер текста)
 // создаем массив символов
for (int i=1; i<=Memo1->Text.Length(); i++)
{
 if(buff2.Pos(Memo1->Text[i])==0)
 {
 buff2+=Memo1->Text[i];
 }
}
//тут можно прописать удаление не нужных символов, в качестве примера удаляем пробел
buff2.Delete(buff2.Pos(" "),1);
 
// создаем массив чисел
for (int i=1; i<=buff2.Length(); i++)
{
n=0;
for (int j=1; j<=Memo1->Text.Length(); j++)
{
if (buff2[i]==Memo1->Text[j]) {
n++;
}
}
mass[i-1]=n;
}
 
// пример соответствия этих массивов (только не забываем что числовой массив индексируется с 0 а строка с 1)
for (int k=1; k<=buff2.Length(); k++)
{
itog=itog+buff2[k]+"-"+IntToStr(mass[k-1])+": ";
}
 
// выводим результат
Memo2->Lines->Add("Массив символов: "+buff2);
Memo2->Lines->Add("Итог: "+itog);
Алгоритм чувствителен к регистру буков ("Я"и"я")для него 2 разные буквы.
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
19.03.2014, 19:51
Задачи на подсчет легко решаются ассоциативными контейнерами, сколько раз уже на форуме мелькало...
Подсчет повторяющехся символов из Edit1 поля
1
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 37
24.03.2014, 03:52  [ТС]
Спасибо за код, я пытался сделать что то похожее, но не все получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2014, 03:52
Помогаю со студенческими работами здесь

Вероятность появления символа в тексте
Помогите плиз! Нужно определить вероятность появления каждого символа (буквы) Pi в тексте на русском длиной не менее 200 символов путем...

В тексте вычислить частоту появления каждого символа
1. На форме установлен редактор TMemo, графическая площадка TImage и список файлов TFileListBox. По двойному щелчку в списке файлов оценить...

выполнить анализ частоты появления каждого символа
Для списка произвольного уровня вложенности выполнить анализ частоты появления каждого символа. Все встречающиеся символы и их число...

385 занятия. Вероятность появления студента 0,2. Какая вероятность появления не менее 76?
Добрый день! Имеется задача и мое решение её на картинке. Пересчитав в ексель у меня получился другой ответ, повидимому правильный...

Вывести в файл вероятность появления каждого числа в последовательности
Сгенерировать случайную последовательность чисел от 1 до 10 и вывести в файл вероятность появления каждого числа. using System; using...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru