Символьный файл содержит различные буквы

Jillian

Доброго времени суток! Посмотрите задачу, пжл )Символьный файл содержит различные буквы латинского алфавита. Убрать из этого файла все буквы 'а'.
5 ответов

Jillian

Доброго времени суток! Посмотрите задачу, пжл )Символьный файл содержит различные буквы латинского алфавита. Убрать из этого файла все буквы 'а'.
Доброе.... посмотрел...решил что вам нужен код решения:
const
    Address = 'test.txt';
type
    MyChar = file of char;
var
    FileInp:MyChar;
    Ch:char;
begin
    Assign(FileInp,Address);
    reset(FileInp);
    
    while not eof(FileInp)do
    begin
        read(FileInp,Ch);
        If(Ch in ['a','а'])then
        begin
            Seek(FileInp,FilePos(FileInp)-1);
            write(FileInp,' ');
        end;
    end;
    
    close(FileInp);
end.


Jillian

Да, Вы совершенно правы, очень нужен код ) Попыталась объединить Ваш код со своими наработками, не очень получилось (
Program MyProg11;
type
ff=file of char;
var
i,n:integer;
f:ff;
f1,comp:char;
begin
Writeln('Vvedite chislo simvolov faila');
Readln(n);
Assign(f, 'data.txt');
rewrite(f);
Writeln('Zapolnite fail');
for i:=1 to n do
begin
read(comp);
write(f,comp);
end;
close(f);
Writeln('Soderjimoe faila');
Begin
reset(f);
while not eof(f) do
Begin
read(f,comp);
write(comp,' ');
end;
close(f);
writeln;
end;
 
begin
reset(f);
while not eof(f)do
begin
read(f,f1);
If(f1 in ['a','а'])then
begin
Seek(f,FilePos(f)-1);
write(f,' ');
end;
end;
close(f);
end;
end.
Взгляните еще разок, пожалуйста


Jillian

вот вашь код... просто видо изменен.
Program MyProg11;
const
    Address = 'test.txt';
type
    ff=file of char;
procedure CreatFile(var f:ff;n:integer);
var
    comp:char;
    i:integer;
begin
    rewrite(f);
    for i:=1 to n do
    begin
        read(comp);
        write(f,comp);
    end;
    close(f);
end;
 
procedure Viver(var f:ff);
var
    comp:char;
begin
    reset(f);
    while not eof(f) do
    Begin
        read(f,comp);
        write(comp,' ');
    end;
    close(f);   
end;
 
procedure Edit(var f:ff);
var
    f1:char;
begin
    reset(f);
    Seek(f,0);
    while not eof(f)do
    begin
        read(f,f1);
        If(f1 in ['a','а'])then
        begin
            Seek(f,FilePos(f)-1);
            write(f,' ');
        end;
    end;
    close(f);
end;
var
    n:integer;
    f:ff;
begin
    Writeln('Vvedite chislo simvolov faila');
    Readln(n);
    Assign(f, Address);
 
    Writeln('Zapolnite fail');
    CreatFile(f,n);
    
    Writeln('Soderjimoe faila');
    Viver(f);
    
    writeln;
    Edit(f);
 
    Writeln('Soderjimoe faila');
    Viver(f);
end.


Jillian

Спасибо, Вы очень помогли!


Jillian

а можно ли объяснить как работает программа?