![]() |
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)
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 10:07 |