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 
 К началу страницы 
+ Ответить 

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


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

 



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