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


Гость






Цитата(Флогримм @ 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 замен... Как видишь, все совпадает... Можешь привести тот файл, для которого результаты не совпали? (Кстати, интересно, где ты его набирал?)
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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