*** Търсене и заместване във файл

Да се напише програма, която ни пита за име на файл, дума, която да се търси във файла и дума, с която да се замести. После замества всички срещания на едната дума с другата и отпечатва на екрана файла преди заместването и след това.

Публикувано в 10a с етикети , . Постоянна връзка.

2 Responses to *** Търсене и заместване във файл

  1. Боряна каза:
    procedure ZapisVavFailA;
    begin
      Assign(A, 'text.txt');
      Rewrite(A);
      WriteLn(A, 'Da se napishe programa, koiato ni pita za ime na fail, duma, koiato ');
      WriteLn(A, 'da se tarsi vav faila i duma, s koiato da se zamesti. Posle zamestva ');
      WriteLn(A, 'vsichki sreshtania na ednata duma s drugata i otpechatva na ekrana ');
      WriteLn(A, 'faila predi zamestvaneto i sled tova.');
      Close(A);
    end;
    begin
      ZapisVavFailA;
      i:=0;
    
      WriteLn('Iskate li da vidite texta vav faila? Otgovorete s D za da i N za ne.');
      ReadLn(izbor);
      WriteLn;
      if izbor='D' then begin
        Assign(A, 'text.txt');
        Reset(A);
        while (not EOF(A)) do begin
         ReadLn(A, X);
         WriteLn(X);
        end;
        Close(A);
        WriteLn;
      end;
    
      Write('Molia vavedete duma ot faila, koiato iskate da zamestite: ');
      ReadLn(D);
      Write('Sega vavedete dumata, s koiato da bude zamestena dumata ', D, ': ');
      ReadLn(Z);
    
      Assign(A, 'text.txt');
      Assign(B, 'novtext.txt');
      Reset(A);
      Rewrite(B);
      while (not EOF(A)) do begin
       ReadLn(A, T);
       if EOF(A) then Break;
       p:=Pos(D,T);
       if p<>0 then begin
         Delete(T, p, Length(D));
         Insert(Z, T, p);
         i:=i+1;
       end;
         Write(B,T);
      end;
      Flush(B);
    
      WriteLn;
      if i<>0 then
        WriteLn('Dumata ', D, ' beshe zamenena ', i, ' pati.')
      else
        WriteLn('Dumata ', D, ' ne sashtestvuva vav faila.');
      WriteLn('Sega shte vidite originalnia text i novia text.');
      WriteLn;
      Reset(A);
      while (not EOF(A)) do begin
         ReadLn(A, X);
         WriteLn(X);
        end;
      WriteLn;
      Reset(B);
      while (not EOF(B)) do begin
         ReadLn(B, X);
         WriteLn(X);
        end;
      Close(A);
      Close(B);
      ReadLn;
    end.
    

Вашият коментар