Помощь - Поиск - Пользователи - Календарь
Полная версия: Modul
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Klim-
Разработать программу, подсчитывающую сколько раз в текстовом файле встречается задаваемый пользователем символ.
В модулях не шарю, и Паскаля пока нет так что прогу пока так написал на глаз:
Код

ogram hff;uses crt;
var f1:text;
    z,m,n:integer; k,f:string;
    begin clrscr;
    writeln('Введите имя файла');
    readln(f);
         assign(f1,f);
         reset(f1);
         n:=0;
         while not eof(f1) do
               begin
                   writeln('Введите символ:');  
                  readln(k); }   writeln(k);
                    m:=pos(f1,k);     writeln(m);
                                 if m=0 then
                                 writeln('Такого символа нет!')
                                begin
                                 readln;
                                 exit;
                                end
                                 else
                    n:=n+1;
                    delete('C:\privet.txt',m,1);  
               end;
         close(f1);
end.
мисс_граффити
И что?...
Цитата
ogram hff

Ограм... Шрэк, это, кажется, огр...
Правильно, надо с самого начала написать, кому предназначен программный продукт. Обозначить целевую аудиторию, так сказать.
Цитата
writeln('Введите символ:');
readln(k); } <--к чему эта скобочка???
writeln(k); <-- зачем?!
...
m:=pos(f1,k); <--с учетом, что f1 - файл... лихо.

if m=0 then
writeln('Такого символа нет!')
begin <--зачем писать begin в середине программы?
readln;
exit;
end
else <--вообще непонятно к чему относится
...
delete('C:\privet.txt',m,1); <-- А зачем из этой строки что-то удалять? При чем здесь она вообще???


В общем, мой тебе совет: начни с установки паскаля... Иначе - никак.

Айра
Да.. конечно программка у тебя Klim более чем оригинальная smile.gif
По-моему, можно сделать так:
program hff;
uses crt;
var f1: text;
n:integer;
k:string;
ch: char;
begin
clrscr;
assign(f1,'текст.txt'); {сразу создай там же, где и код программы}
{$I-} {файл с текстом и таким же именем, как будет в проге}
reset(f1);
{$I+}
if IOResult=0 then
begin
n:=0;
writeln('Введите символ:');
readln(k);
while not eof(f1) do
begin
read(f1,ch);
if ch=k then inc(n);
end;
close(f1);
if n=0 then writeln('Такого символа в тексте нет!')
else writeln('символ *',k,'* встречается в тексте ',n,' раз(-a)');
end
else writeln('файла с именем +текст.txt+ на диске нет');
end.

Что непонятно, спрашивай и установи Паскаль, на форуме должны быть ссылки, откуда можно его скачать.

дополнено: лишнее убрала smile.gif
klem4
Это зачем ?

  
var
name,txt:string;
// ...
txt:=txt+ch;


?
Айра
wink.gif Это я удалить забыла, когда проверяла нормально ли работает прога, выводила текст файла так... Переменную name тоже убрать забыла, она нигде не используется wink.gif
-Klim-
Огромное спасибо Айрв и паскаль нашел. Только как модуль сделать я до сих пор не понял
Айра
Пометь в программе или так выпиши, что именно непонятно, будем объяснять smile.gif
Dimusik
Цитата(Айра @ 2.06.2007 19:30) *

Пометь в программе или так выпиши, что именно непонятно, будем объяснять smile.gif

что такое ioresult и можно как-нибудь обойтись без него или заменить?
volvo
Если хочешь программу, которая обрабатывает ошибки, а не вылетает при первом же чихе - то это заменить нельзя... Если для "абы как - сдал и забыл", то ты вообще ошибся форумом...

А у меня встречный вопрос: ты не пробовал программирование чем-нибудь заменить? Или обойтись без него?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.