IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> кол-во знаков в *.txt-файле, почему не совпадает?
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


почему не совпадает кол-во знаков, которое считает прога и кол-во знаков, которе, нарпимер, считает текстовый редактор?

Код

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.


Сообщение отредактировано: Флогримм -


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
почему не совпадает кол-во знаков, которое считает прога и кол-во знаков, которе, нарпимер, считает текстовый редактор?

Это зависит от того, что ты подсчитываешь... и что считает редактор.
Ты считаешь только символы? а редактор может считать симовлы, (кирилица, латиница), цифры и проч...
а можно вообще считать что все коды есть символы... только часть управляюще. ТОгда кол-во символов равно размеру файла в байтах.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Флогримм
Так а с чем сравнивать-то? Oleg_Z прав, ты не знаешь что считает редактор, а мы кроме всего прочего еще и результатов редактора не знаем...
sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 101
Пол: Мужской

Репутация: -  0  +


В какую сторону, кстати отличается? Файл в какой кодировке?


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


берете простой ворд, копируете туда текст, который считала прожка, затем берете любой символ, делаете замену на другой а в конце замены ворд пишет, мол, произведено столько-то замен, а затем сравниваете результаты


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 замен... Как видишь, все совпадает... Можешь привести тот файл, для которого результаты не совпали? (Кстати, интересно, где ты его набирал?)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 101
Пол: Мужской

Репутация: -  0  +


Туплю может, но с символами перевода строки и возврата каретки как?


--------------------
Плавают разными стилями, тонут-одним (ц) Кирпичи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


а зачем их считать? это управляющие символы!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


вот фтестируемый текст
Цитата
Будни кота
Нассал под кресло. Хорошо!
Скучно.
Вспомнил бурную молодость.
Сидел я как-то на столе, жрал лапой сгущёнку из банки.
Пришли Эти и давай орать. Ну я же не дурак, опустил
лапу в банку сколько влезла, и на трёх костях - за холодильник. Эти орали ещё
дня три. Был очень горд.
Сегодня всё лень. Ссать - лень. Жрать - не могу больше. Сижу тихо, дремлю.
Эти нервничают, озираются по сторонам, дрожат и ждут подвоха.
Какие ж у Этих миски неудобные. Пытался сожрать кусок мяуса, так пока
лапой не зацепил - ни хрена не получалось. Нет бы взять приличные миски и жрать на полу. Ур-р-роды.

вот фрагмент результатов
Цитата
...
'с' #241    21
'т' #242    27
'у' #243    20
'х' #245        7
'ц' #246        1
'ч' #247        5
'ш' #248        3
...

а в ворде получилось "у" - 21 штука, а с большими текстами так вообще...


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
а в ворде получилось "у" - 21 штука, а с большими текстами так вообще...


а на самом деле сколько? (мне лень считать) smile.gif
Если ворд не правильно считает, то и нечего его в качестве образца выставлять smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 12.05.2024 3:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name