|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.10.2019, 23:35 | #1 |
Новичок
Джуниор
Регистрация: 01.10.2019
Сообщений: 2
|
Упс, туплю в Lazarus
Ребятки, просветите нуба.
Есть задачка: (сделать в Lazarus) Измерить объем следующего информационного сообщения в битах, байтах, килобайтах и мегабайтах при условии, что каждый символ кодируется 1 байтом: «Первая информационная революция – освоение человечеством языка». Вычислить по формуле Шеннона среднюю информационную емкость символа сообщения. Оценить информационную емкость всего сообщения. Решил написать код, чтобы программа считала кол-во определенных символов в строке: Код:
Как быть? |
02.10.2019, 10:02 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Это просто ужас!
стоит открыть для себя массивы (или списки - TList, TStringList...). это во-первых. а во-вторых, возможна проблема с unicode, я не уверен, что уникод символы можно просто так перебирать и сравнивать. https://wiki.lazarus.freepascal.org/...ort_in_Lazarus вот Edit1.Text какой тип имеет? String? UTF8String? UnicodeString? другой? вот что говорит оф.док ( https://wiki.lazarus.freepascal.org/String ) Цитата:
Последний раз редактировалось Serge_Bliznykov; 02.10.2019 в 10:07. |
|
02.10.2019, 10:16 | #3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
txt[i1] --символ или строка содержащая один байт
'П' (и любой другой символ кириллический символ) в UTF8 кодировке ДВА символа. стало быть НИКАКОЕ из равенств не имеет места. Цитата:
Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
|
|
02.10.2019, 10:52 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
evg_m, я бы лично тоже перешёл к Ansi строкам и все проблемы сразу ушли
чтобы перейти к ANSI достаточно задать настройки (опции) компилятора. что же касается то так вообще не надо делать. нужно в цикле брать элементы строки и помещать их в массив/список. и там считать их количество. Никаких констант в коде не должно быть. Это принципиально важно! Код:
Последний раз редактировалось Serge_Bliznykov; 02.10.2019 в 11:06. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Туплю... | Predator199 | JavaScript, Ajax | 8 | 31.10.2014 11:05 |
Перекомпиляция программы(простой) Win Lazarus в Linux Lazarus | Toxifer | Фриланс | 0 | 27.11.2012 22:46 |
Туплю с классами | MyXa | C# (си шарп) | 1 | 20.06.2012 13:20 |
Баг Excel или я туплю? | Raf_19 | Microsoft Office Excel | 5 | 06.08.2008 16:39 |