Другие языки программирования и технологии
Жду помощи)))))))))) SOS!!!!
Составьте программу на Турбо Паскале.Описать функцию, которая подсчитывает количество пустых строк в текстовом файле t. Заранее спасибо))))))))))))))))))
program read_file;
{ uses wincrt;}
var nfile:string;
x:integer;
function readf(s:string):integer;
var f:text;
ss:string;
i:integer;
begin
assign(f,s);
reset(f);
i:=0;
while not eof(f) do
begin
readln(f,ss);
if ss='' then i:=i+1;
end;
readf:=i;
end;
begin
{ clrscr;}
write('input name file=');
readln(nfile);
{ nfile:='c:\t.txt';}
x:=readf(nfile);
writeln;
writeln('count free string=',x);
readln;
end.
это именно программа с нужной функцией
последняя заременная строчка для проверки ленивым
можно (для нормальных прог нужно) ещё добавить проверку на
существование файла в котором строчки считать собрались...
{ uses wincrt;}
var nfile:string;
x:integer;
function readf(s:string):integer;
var f:text;
ss:string;
i:integer;
begin
assign(f,s);
reset(f);
i:=0;
while not eof(f) do
begin
readln(f,ss);
if ss='' then i:=i+1;
end;
readf:=i;
end;
begin
{ clrscr;}
write('input name file=');
readln(nfile);
{ nfile:='c:\t.txt';}
x:=readf(nfile);
writeln;
writeln('count free string=',x);
readln;
end.
это именно программа с нужной функцией
последняя заременная строчка для проверки ленивым
можно (для нормальных прог нужно) ещё добавить проверку на
существование файла в котором строчки считать собрались...
Процедура READLN.
Обеспечивает ввод символов, строк и чисел. Эта процедура идентична процедуре READ за исключением того, что после считывания последней переменной оставшаяся часть строки до маркера EOLN пропускается, поэтому следующее обращение к READLN или READ начинается с первого символа новой строки. Кроме того, эту процедуру можно вызвать без параметра <cn.вводa> (см. процедуру READ), что приведет к пропуску всех символов текущей строки вплоть до EOLN.
var
f : text;
s: String;
const
Sum: LongInt = 0; {Здесь будет количество пустых строк}
begin
Write('Имя файла: ');{Запрашиваем... }
Readln(s); {и вводим имя файла. }
assign(f,s);
Reset (f); {Открываем файл}
while not EOF(f) do {Подсчитываем... }
begin {количество. . }
ReadLn(f,s); {символов... }
if Length(s)=0 then
Sum:=Sum+1 {в файле}
end ;
Close(f); {Закрываем файл}
WriteLn('Объем = ', Sum/40000 : 6:2,' уч. изд. л. ')
end.
у меня нет компилятора сейчас, поэтому возможны мелкие ошибки
Например, длина пустой строки может быть равна не 0 а 1 (считается служебный симвло EOL) - хот я врялд ли. Также не уверен, что можно изменять значение констант - если будут проблемы, меняй на переменную
Обеспечивает ввод символов, строк и чисел. Эта процедура идентична процедуре READ за исключением того, что после считывания последней переменной оставшаяся часть строки до маркера EOLN пропускается, поэтому следующее обращение к READLN или READ начинается с первого символа новой строки. Кроме того, эту процедуру можно вызвать без параметра <cn.вводa> (см. процедуру READ), что приведет к пропуску всех символов текущей строки вплоть до EOLN.
var
f : text;
s: String;
const
Sum: LongInt = 0; {Здесь будет количество пустых строк}
begin
Write('Имя файла: ');{Запрашиваем... }
Readln(s); {и вводим имя файла. }
assign(f,s);
Reset (f); {Открываем файл}
while not EOF(f) do {Подсчитываем... }
begin {количество. . }
ReadLn(f,s); {символов... }
if Length(s)=0 then
Sum:=Sum+1 {в файле}
end ;
Close(f); {Закрываем файл}
WriteLn('Объем = ', Sum/40000 : 6:2,' уч. изд. л. ')
end.
у меня нет компилятора сейчас, поэтому возможны мелкие ошибки
Например, длина пустой строки может быть равна не 0 а 1 (считается служебный симвло EOL) - хот я врялд ли. Также не уверен, что можно изменять значение констант - если будут проблемы, меняй на переменную
Похожие вопросы
- Помощь по турбопаскалю, SOS :З
- Работа с бинарными файлами. Народ, SOS. Нужна помощь
- Контрольная по информатике.:( Жду вашей помощи!
- SOS ВСЕМ АДМИНАМ! РЕАЛНО ДЛЯ ЗНАТОКОВ СВОЕГО ДЕЛА!!!!
- тема Компьютер...вопрос внутри...SOS...не знаю, что делать
- Владеющие паскалем! SOS! Найдите пожалуйста ошибку!((( думаю уже долго, ошибку найти не могу(((Помогите пожалуйста!!!
- как сделать в visual studio 2010 чтобы написанная программа на с++ работала на чистой винде без vs!?!?HELP!SOS!
- память компьютера. SOS!
- есть ли такие web мастеры которые создадут сайт бесплатно любого качества?? ? Sos
- Помогите! SOS! вопрос внутри