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

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

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

 
 Ответить  Открыть новую тему 
> кол-во знаков в *.txt-файле, почему не совпадает?
Флогримм
сообщение 18.01.2005 23:35
Сообщение #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.


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


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


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

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

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


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

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


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


Гость






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


Пионер
**

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

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


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


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


Бывалый
***

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

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


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


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.01.2005 9:48
Сообщение #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
сообщение 20.01.2005 19:27
Сообщение #7


Пионер
**

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

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


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


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


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

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

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


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


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


Бывалый
***

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

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


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

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

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


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


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

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

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


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


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


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

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

 



- Текстовая версия 20.07.2025 2:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"