Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ паскаль нужно решение задачи

Автор: kaka 28.05.2008 20:34

задание такое: в паскале написать прогу которая в текстовом файле будет заменять все табуляции на соответствующее количество пробелов!прошу вас о помощи...!!!

Автор: klem4 28.05.2008 20:48

В чем проблема ? Читаешь файл строками, идешь по очередной строке, если код очередного символа = #9 (TAB), заменяшь его на 4 пробела например. (процедуры delete и insert)

Автор: kaka 28.05.2008 20:54

а тебе не проблема написать?просто у меня получилась вот такая прога
Program TabIntoSpace;

var
MyTextFile: Text;
MyNewTextFile: Text;
i: Integer;
S,O: String;

begin
Assign (MyTextFile, 'C:\File2tab.txt');
Assign (MyNewTextFile, 'C:\NewFileS.txt');

Reset(MyTextFile);
Rewrite(MyNewTextFile);
while not EOF(MyTextFile) do
begin
Readln(MyTextFile, S);
for i:=0 to Length(S) do
begin
O[i]:=S[i];
if S[i]=chr(9) then
O[i]:=' ';
end;
WriteLn(MyNewTextFile, O);
end;

Close(MyTextFile);
Close(MyNewTextFile);
end.

и это неправильно а по другому я не знаю как

Автор: klem4 28.05.2008 21:02

изменил твой код:

var
MyTextFile: Text;
MyNewTextFile: Text;
i, n: Integer;
S: String;

begin
Assign (MyTextFile, 'G:\File2tab.txt');
Assign (MyNewTextFile, 'G:\NewFileS.txt');

Reset(MyTextFile);
Rewrite(MyNewTextFile);
while not EOF(MyTextFile) do begin
Readln(MyTextFile, S);
i := 1;
while i <= length(s) do begin
if s[i] = #9 then begin
delete(s, i, 1);
insert(' ', s, i); // 2 spaces
inc(i, 2);
end else inc(i);
end;
WriteLn(MyNewTextFile, S);
end;

Close(MyTextFile);
Close(MyNewTextFile);
end

Автор: kaka 28.05.2008 21:08

чувак спасибо тебе !!! не дал вылететь из института)))) good.gif ф

Автор: klem4 28.05.2008 21:13

В следующий раз тему называй более информативно, и эту переименуй например в "замена табуляции на пробелы"