Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 12:35   #1
KyTuH
Пользователь
 
Регистрация: 23.05.2012
Сообщений: 19
Восклицание Файлы. Текстовые файлы.

Помогите пожалуйста решить задачу...
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного пробела. Результат поместить в новый файл.
KyTuH вне форума Ответить с цитированием
Старый 23.05.2012, 23:03   #2
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

есть мысля, читать файл как не типизированный.
пишем все в другой файл - два подряд идущих и более 160 бита заменить на один 160 вот и все
как-то так
Arhangel7 вне форума Ответить с цитированием
Старый 23.05.2012, 23:46   #3
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Архангел7 в принципе прав, хотя я и не понял, при чем тут биты (??) и 160.
Вот примерно так можно сделать.
Код:
var
  f,g: file of char;
  c,d: char
...
  d:= #0;
  reset(f);
  rewrite(g);
  while not eof(f) do begin
    read(f,c);
    if (c<>' ') or (d<>' ') then begin
      write(g,c);
      d:= c
    end
  end;
Оформление добавь сам.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 24.05.2012, 08:32   #4
KyTuH
Пользователь
 
Регистрация: 23.05.2012
Сообщений: 19
Восклицание

Цитата:
Оформление добавь сам.
Знал бы я как....

Последний раз редактировалось KyTuH; 24.05.2012 в 08:37.
KyTuH вне форума Ответить с цитированием
Старый 24.05.2012, 09:17   #5
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

Цитата:
при чем тут биты (??)
трохан опечатался, не бит, а байт
160 байт равен пробелу, но не тому что надо - поспешил.
тот что нужен, равен 32.
как-то так
Arhangel7 вне форума Ответить с цитированием
Старый 24.05.2012, 09:37   #6
KyTuH
Пользователь
 
Регистрация: 23.05.2012
Сообщений: 19
По умолчанию

Ребят(( Мне это ничего не дает, может просто напишите мне программу?)
KyTuH вне форума Ответить с цитированием
Старый 24.05.2012, 12:32   #7
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Жаль что "поиск по форуму и Гугл отменили", осталовсь копи-пастом под себя переделать и оценка в кармане!

Код:
Program fgyr;
 
procedure delPROB (var s:string);{начало процедуры, удаляющей лишний пробел}
var  i:integer;
begin
i:=1;
repeat
if copy(s,i,2)='  ' then delete(s,i,1) else inc(i);
until i>length(s);
end; {конец процедуры, удаляющей лишний пробел}
 
var g,f:text; {переменные двух файлов}
    s:string; {переменная строки}
 
begin
assign (f,'stroki.txt' ); reset (f); {открываем файл для чтения}
assign (g,'stroki2.txt' ); rewrite (g); {открываем файл для записи}
 
while not eof(f) do begin {считываем файл}
readln(f,s); {считываем текущую строку}
delPROB(s);  {удаляем в этой строке лишние пробелы}
if length(s)>0 then writeln(g,s); {записываем результирующую строку в другой файл}
end;
 
writeln('Isxodnyi text perepisan v fail "stroki2.txt"...');
close(f); close(g); {закрываем файлы}
readln;
end.
Noor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текстовые файлы nucha Помощь студентам 2 13.01.2012 07:09
Текстовые файлы Mors13 Помощь студентам 1 19.05.2011 16:29
Файлы (текстовые файлы) Finn4ik Помощь студентам 0 25.04.2011 21:42
Текстовые файлы Pihan Общие вопросы C/C++ 3 18.05.2010 22:41
текстовые файлы Marinka91 Помощь студентам 3 08.07.2009 07:56