Консультация № 122294
08.02.2008, 22:30
0.00 руб.
0 2 2
Уважаемые эксперты,помогите пожалуйста написать программу:
В данном текстовом файле найти все фрагменты текста, которые находятся в ковычках. найденные фрагменты вывести в другой фаил. на екран вывести количество найденных обьектов. Спасибо.

Обсуждение

давно
Старший Модератор
31795
6196
08.02.2008, 23:02
общий
это ответ
Здравствуйте, Потеренный!

В приложении Ваша программа.
Удачи!

Приложение:
program q122294; var a,b:text;{перменные фaйлового типа} c:char;{один символ, т.к. будем читать и записывать файл посимвольно} d:integer;{счетчик записей} e:boolean;{флаг записи} begin assign(a,‘a.txt‘);{открываем файлы} assign(b,‘b.txt‘); reset(a);{для чтения} rewrite(b);{для записи} d:=0;{сбрасываем счетчик} e:=false;{сбрасываем флаг} while not(eof(a))do{повторяем пока не закончится файл} begin read(a,c);{читаем один символ} if e and (c<>‘"‘) then write(b,c);{проверяем флаг записываем если истина} if c=‘"‘ then{если это кавычка то меняем флаг на противоположный} begin e:=not e;{меняем флаг} if e then inc(d);{увеличиваем счетчик} end; end; close(a);{закрываем файлы} close(b); write(‘record:‘,d:6);{выводим результат - колтчество фрагментов} end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
08.02.2008, 23:19
общий
это ответ
Здравствуйте, Потеренный!
вот код програма будет по символьно зчитовать з файла даные.

Приложение:
varf,f1:text;i:integer;ch:char;b:boolean;beginassign(f,‘d:\read_data.txt‘);assign(f1,‘D:\Write_data.txt‘);rewrite(f1);append(f1);reset(f);i:=0;b:=false;repeat {цыкл пока не закончиться файл с даными}read(f,ch); {будем зчитовать по символу}if ch=‘"‘ then {если символ первая кавычка то в=true} begin {вторая кавычка b=false} if b then begin writeln(f1,‘ ‘); {если кавычка закрываеться} inc(i); { то переходим на новую строку } {подчитуем количество строк в кавычках } end;b:= not b;end;if b then {если в=true то записуем из первого файла символы в второй} write(f1,ch);until eof(f);close(f1);close(f);writeln(i);readln;end.
Форма ответа