Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 700

/ вопрос открыт /

Приветствую, уважаемые эксперты!
помогите пожалуйста решить последнюю лабораторную работу, по чтению и записи текстовых файлов. задачи:
1) вывести вторую и предпоследнюю строки файла. если в файле только одна строка, то выводить сообщение "нет решения"
2) строки исходного файла записать в новый файл, добавить знак ? после первого слова строки.

alex2580 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: alex2580 (статус: Посетитель)
Вопрос отправлен: 27 января 2010, 13:05
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Егор

Здравствуйте, alex2580!
Задачи-то, в целом, несложные. :)
Ответ на задания см. в приложении.
Будут вопросы - задавайте.

Приложение:
  1.  
  2.  
  3. --------------------------------------
  4. var
  5. f : text;
  6. i : integer;
  7. s, sSecond, sPred : string;
  8. begin
  9. Assign(f,'1.txt');
  10. {$I-}
  11. Reset(f);
  12. {$I+}
  13. if IOResult<>0 then
  14. begin
  15.  
  16. readln;
  17. exit;
  18. end;
  19. i:=0;
  20. s:='';
  21. sSecond:='';
  22. sPred:='';
  23. while not EOF(f) do
  24. begin
  25. sPred:=s;
  26. readln(f,s);
  27. i:=i+1;
  28. if i=2 then sSecond:=s;
  29. end;
  30. Close(f);
  31. if i<=1 then
  32.  
  33. else
  34. begin
  35.  
  36.  
  37. end;
  38. readln;
  39. end.
  40. --------------------------------------------
  41.  
  42.  
  43. --------------------------------------------
  44. var
  45. fIn, fOut : text;
  46. i : integer;
  47. s, firstWord, EndString : string;
  48. begin
  49. Assign(fIn,'1.txt');
  50. {$I-}
  51. Reset(fIn);
  52. {$I+}
  53. if IOResult<>0 then
  54. begin
  55.  
  56. readln;
  57. exit;
  58. end;
  59. Assign(fOut,'2.txt');
  60. {$I-}
  61. Rewrite(fOut);
  62. {$I+}
  63. if IOResult<>0 then
  64. begin
  65.  
  66. readln;
  67. exit;
  68. end;
  69. while not eof(fIn) do
  70. begin
  71. readln(fIn, s);
  72. i:=pos(' ',s);
  73. if i>0 then
  74. begin
  75. FirstWord:=Copy(s,1,i-1);
  76. EndString:=Copy(s,i,length(s)-i+1);
  77. end
  78. else
  79. begin
  80. FirstWord:=s;
  81. EndString:='';
  82. end;
  83. writeln(fOut,FirstWord,'?',EndString);
  84. writeln(FirstWord,'?',EndString);
  85. end;
  86. Close(fIn);
  87. Close(fOut);
  88. readln;
  89. end.
  90. ------------------------------------------------


Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 28 января 2010, 22:58
Оценка за ответ: 5

Комментарий к оценке: спасибо

Мини-форум вопроса

Всего сообщений: 0.

27 января 2010, 13:15: Вопрос перемещён из тематического раздела Pascal » Программирование на Pascal в раздел Лабораторный практикум » Pascal модератором Ерёмин А.А. Причина: пора бы уже правильно выбирать раздел

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:58
Выполнено за 0.02 сек.