![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Флогримм |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: ![]() ![]() ![]() |
почему не совпадает кол-во знаков, которое считает прога и кол-во знаков, которе, нарпимер, считает текстовый редактор?
Код program count_symbils; uses crt; const chars = [#33..#159, #160..#175, #224..#239]; var i:byte; filename, filename1, str:string; mas:array[byte] of longint; fil, fil1:text; Function FileExists(FileName : String) : Boolean; { Функция возвращает True, если файл существует, иначе возвращает False. Закрывает файл, если он существует. } Var F : File; Begin {$I-} Assign(F, FileName); Reset(F); Close(F); {$I+} FileExists := (IOResult = 0) And (FileName <> ''); End; { FileExists } begin { clrscr; } filename1:='symbols.txt'; assign(fil1, filename1); rewrite(fil1); if paramcount=0 then begin writeln('В командной строке не указано ни одного параметра.'); writeln('В качестве параметра введите имя файла, с которым бы вы хотели работать.'); writeln('Нажмите любую клавишу.'); readln; exit; end else begin filename:=paramstr(1); if fileexists(filename) then begin writeln(fil1, filename); writeln(fil1, ''); writeln('Вы указали файл: ', filename); writeln('Нажмите любую клавишу.'); readln; assign(fil, filename); reset(fil); while not EOF(fil) do begin readln(fil, str); for i:=1 to length(str) do begin {if str[i] in chars then} inc(mas[ord(str[i])]); end; str:=''; end; close(fil); writeln('Таблица символов файла ', filename,': '); writeln('Символ Код Повторяемость'); writeln; for i:=1 to high(mas) do begin if mas[i]>0 then begin writeln('''',chr(i),'''',' #',i:3,mas[i]:9); writeln(fil1,'''',chr(i),'''',' #',i:3,mas[i]:9); end; end; end else begin writeln('Такого файла не существует или вы указали неправильный путь.'); writeln('Нажмите любую клавишу.'); readln; exit; end; writeln('Нажмите любую клавишу.'); readln; exit; end; close(fil1); end. Сообщение отредактировано: Флогримм - 18.01.2005 23:36 -------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата почему не совпадает кол-во знаков, которое считает прога и кол-во знаков, которе, нарпимер, считает текстовый редактор? Это зависит от того, что ты подсчитываешь... и что считает редактор. Ты считаешь только символы? а редактор может считать симовлы, (кирилица, латиница), цифры и проч... а можно вообще считать что все коды есть символы... только часть управляюще. ТОгда кол-во символов равно размеру файла в байтах. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Флогримм
Так а с чем сравнивать-то? Oleg_Z прав, ты не знаешь что считает редактор, а мы кроме всего прочего еще и результатов редактора не знаем... ![]() |
sandman |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 101 Пол: Мужской Репутация: ![]() ![]() ![]() |
В какую сторону, кстати отличается? Файл в какой кодировке?
-------------------- Плавают разными стилями, тонут-одним (ц) Кирпичи
|
Флогримм |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: ![]() ![]() ![]() |
берете простой ворд, копируете туда текст, который считала прожка, затем берете любой символ, делаете замену на другой а в конце замены ворд пишет, мол, произведено столько-то замен, а затем сравниваете результаты
-------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(Флогримм @ 20.01.05 5:25) берете простой ворд, копируете туда текст, который считала прожка, затем берете любой символ, делаете замену на другой а в конце замены ворд пишет, мол, произведено столько-то замен, а затем сравниваете результаты ... и получаем следующее: Программа: Цитата ' ' # 32 17 ';' # 59 6 'a' # 97 8 'b' # 98 3 'c' # 99 1 'd' #100 15... Потом запускаем Word - меняем 'd' на 'L' - "произведено 15 замен", меняеи 'a' на 'F' - произведено 8 замен... Как видишь, все совпадает... Можешь привести тот файл, для которого результаты не совпали? (Кстати, интересно, где ты его набирал?) |
sandman |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 101 Пол: Мужской Репутация: ![]() ![]() ![]() |
Туплю может, но с символами перевода строки и возврата каретки как?
-------------------- Плавают разными стилями, тонут-одним (ц) Кирпичи
|
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
а зачем их считать? это управляющие символы!
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Флогримм |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: ![]() ![]() ![]() |
вот фтестируемый текст
Цитата Будни кота Нассал под кресло. Хорошо! Скучно. Вспомнил бурную молодость. Сидел я как-то на столе, жрал лапой сгущёнку из банки. Пришли Эти и давай орать. Ну я же не дурак, опустил лапу в банку сколько влезла, и на трёх костях - за холодильник. Эти орали ещё дня три. Был очень горд. Сегодня всё лень. Ссать - лень. Жрать - не могу больше. Сижу тихо, дремлю. Эти нервничают, озираются по сторонам, дрожат и ждут подвоха. Какие ж у Этих миски неудобные. Пытался сожрать кусок мяуса, так пока лапой не зацепил - ни хрена не получалось. Нет бы взять приличные миски и жрать на полу. Ур-р-роды. вот фрагмент результатов Цитата ... 'с' #241 21 'т' #242 27 'у' #243 20 'х' #245 7 'ц' #246 1 'ч' #247 5 'ш' #248 3 ... а в ворде получилось "у" - 21 штука, а с большими текстами так вообще... -------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата а в ворде получилось "у" - 21 штука, а с большими текстами так вообще... а на самом деле сколько? (мне лень считать) ![]() Если ворд не правильно считает, то и нечего его в качестве образца выставлять ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:14 |