Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 18.03.2012, 09:35   #1 (permalink)
Ильгиза
Member
 
Регистрация: 08.10.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Небольшой вопрос о файлах

Здравствуйте!
Дан текстовый файл, необходимо в начало строки close, написать комментарий '{закрытие файла}' и вывести получившийся файл.
эта часть программы работает отлично, но еще необходимо найти номер строки , куда вставляется этот комментарий, я сделала так, но почему то программа не работает.
Пожалуйста , помогите найти ошибку!
Заранее благодарю!!!

program upr1;
Var
f1,f2:Text;
s,s1,s2:String; k:integer;
Begin
s1:='{ çàêðûòèå ôàéëà }';
s2:='close';
Assign(f1,'ilgiza.txt');
Reset(f1);
Assign(f2,'ilgiza2.txt');
Rewrite(f2);
Repeat
Readln(f1,S);
If Pos(s2,S)=0 then
Writeln(f2,S)
else
Writeln(f2,S1+S);
Until eof(f1);
Close(f1);
Close(f2);
reset(f2);
k:=0;
while not eof(f2)do begin
readln(f2,s);
writeln(s);
end;
while s<>s1 do k:=k+1;
close(f2);
writeln(k);
End.



мой вариант текстового файла.

program upr1;
var f:file of real;
x,h,fx:real;
begin
assign(f,'func.dat');
rewrite(f);
x:=0.5;
h:=0.2;
while (x<=2.5) do begin
fx:=exp(ln(1+sqr(x))/3);
write(f,x);
write(x:5:3);
x:=x+h;
write(f,fx);
writeln(fx:8:4);
end;
writeln('файл записан');
close(f);
end.
Ильгиза вне форума   Ответить с цитированием

Старый 18.03.2012, 09:35
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Эти темы очень схожи с вашей и возможно в какой то из них проблема уже решена

Мой первый небольшой мод
Мой первый небольшой мод
Небольшой мод.
Небольшой мод корпуса
Небольшой мод колонок

Старый 18.03.2012, 10:22   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Исправил.
Главная ошибка - это то, что Вы забыли, что искомая строка изменилась (добавился комментарий), а поиск осуществляется по исходному тексту. Исправил.
Кроме того, две мелочи-рекомендации:
1. По возможности, НЕ пользуйтесь кириллицей: сами видите, к чему это приводит - текст программы набран в кодировке UTF, в результате имеем крякозябры.
2. Ну применяйте Вы форматирование листингов (отступы, "лесенки" и т.п.): так неудобно читать программу, когда она вся в столбик!
Вот что получилось (проверено, естественно):
Код:
program upr1;
Var
 f1,f2:Text;
 s,s1,s2,s3:String;
 k,k1:integer;
Begin
 s1:='{ file closing }';
 s2:='close';
 Assign(f1,'ilgiza.txt');
 Reset(f1);
 Assign(f2,'ilgiza2.txt');
 Rewrite(f2);
 Repeat
  Readln(f1,S);
  If Pos(s2,S)=0 then
   Writeln(f2,S)
  else
   begin
    S3:=S1+S;
    Writeln(f2,S3);
   end;
 Until eof(f1);
 Close(f1);
 Close(f2);
 reset(f2);
 k:=0;
 while not eof(f2) do
  begin
   k:=k+1;
   readln(f2,s);
   writeln(k:2,' '+s);
   if s=s3 then k1:=k;
  end;
 close(f2);
 writeln;
 writeln('Number of changed string is ',k1);
 readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.03.2012, 14:15   #3 (permalink)
Ильгиза
Member
 
Регистрация: 08.10.2011
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо Вам огромное!!!!!
Ильгиза вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:23.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.