Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.05.2008, 15:19
гость

 
Сообщений: n/a

количество букв?
пытаюсь написать программульку на VisualC++. в текст-бокс вводим произвольный текст на 10-20 тыс символов. нужно подсчитать количество каждой буквы в этом тексте (частоту). если этот текст представить в виде массива символов - как обозначить конец текста(ведь длина текста любая и абзацев тоже много)?а если текст будет в виде строки - у меня не работает выбор из этой строки подстроки(чтобы буквы сравнивать)
  #2  
Старый 19.05.2008, 16:54
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

на псевдопаскале:

Код:
Chars: array[Char] of Integer;

заполнить Chars нулями
while не кончился входной поток(файл) do
  прочитать строку s
  for i := 1 to Length(s) do
    Inc(Chars[s[i]]
  #3  
Старый 19.05.2008, 23:57
гость

 
Сообщений: n/a

спасибо за ответ. только не совсем понимаю как прописать этот самый конец файла(входного потока), ведь файл может иметь любое количество символов (от 10 до 20тыс), а длину строки мы вычисляем только после... объясните пожалуйста, если не трудно.
  #4  
Старый 20.05.2008, 00:30
гость

 
Сообщений: n/a

Очень просто:
while not eof do
  #5  
Старый 20.05.2008, 06:18
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

>как прописать этот самый конец файла(входного потока), ведь файл может иметь любое количество символов (от 10 до 20тыс), а длину строки мы вычисляем только после...

Метод зависит от организации входного потока.
Вот в удобстве этого:
>в текст-бокс вводим произвольный текст на 10-20 тыс
я как-то засомневался

Если на входе единственная строка char* pc, то примерно так-
while (!pc) CharsCounts[*pc++]++;
(как это будет корректно выглядеть на Сях, не знаю)
  #6  
Старый 20.05.2008, 09:46
гость

 
Сообщений: n/a

спасибо большое
сама понимаю, что с текстовым боксом не совсем удобно, но таково условие задания. очень признательна за ответы.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в бинарном изображении подсчитать количество объектов. public_static_void Обработка изображений, звук, графика 1 11.05.2008 14:53
Задачка. определить наименьшее количество движений Yarik_2000 Сортировка и поиск 1 13.12.2007 18:58
количество вариантов размещения шаров в корзинах BreakPoint Математические алгоритмы (другое) 10 11.07.2007 12:24
разместить максимальное количество кругов в прямоугольнике ibobak Задачи 2 01.03.2007 00:28
разместить максимальное количество кругов в прямоугольнике ibobak Вычислительная геометрия 1 25.02.2007 18:05