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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2012, 21:12   #1
Blackyy
 
Регистрация: 09.10.2012
Сообщений: 6
По умолчанию в Паскале 2 абзацы поменять местами

помогите пожалуйста!

нужно в текстовом файле поменять местами 1 и 2 абзацы.
Blackyy вне форума Ответить с цитированием
Старый 09.10.2012, 22:20   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

А как следует понимать разделение на абзацы?
Например, абзац заканчивается пустой строкой.
1. Создаем текстовый файл с несколькими абзацами.
2. В программе открываем файл и читаем, в цикле, до первой пустой строки или до обнаружения конца файла.
3. Если обнаружили конец файла, то завершаем работу. Переставлять нечего.
4. Если обнаружили пустую строку, то открываем выходной файл.
5. Читаем, в цикле, входной файл по строкам и записываем строки в выходной файл, пока не обнаружим пустую строку или конец файла.
6. Если попалась пустая строка, то пишем в выходной файл, иначе (обнаружен конец файла) допишем пустую строку. Это разделитель абзацев.
7. Выполняем команду reset(fh_in) для входного файла. Перейдем в начало входного файла.
8. Читаем файл по строкам, в цикле, и продолжаем писать строки в выходной файл.
9. Если обнаружили пустую строку, то читаем строки далее, но не пишем в выходной файл (ищем следующую пустую строку или конец файла - пропускаем абзац).
10. Если обнаружили следующую пустую строку, то продолжаем писать строки в выходной, иначе (обнаружен конец файла) завершаем работу.
Все.
Процедуры для работы с файлом знаем?
Вот немного кода для обнаружения конца абзаца или конца файла.
Код:
var flg : boolean;
      fh_in, fh_out : Text;
...
...
flg := false;
While NOT Eof(fh) do begin
...
   readln(fh_in, str);
   if Length(str) = 0 then begin
      flg := true;
      break;
  end;
...
end;
  if flg then {найдена пустая строка}
   ...
 else   {найден конец файла}
   ...;

Как-то вот так получилось ...
Как-то так, ...
ViktorR на форуме Ответить с цитированием
Старый 09.10.2012, 23:05   #3
Blackyy
 
Регистрация: 09.10.2012
Сообщений: 6
По умолчанию

спасибо!буду пробовать, надеюсь что получится
Blackyy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять местами Dmitriy_Voland Microsoft Office Excel 1 22.08.2012 18:38
Как в паскале поменять местами максимальный элемент с восьмым в массиве? gylayko Помощь студентам 12 15.11.2011 20:54
поменять местами научите Паскаль, Turbo Pascal, PascalABC.NET 13 08.01.2009 13:43
Поменять местами абзацы Иллидан Microsoft Office Word 1 16.09.2008 08:14