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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2010, 00:38   #1
Mizantrop
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 11
По умолчанию Типизированные файлы

Уважаемые, помогите найти ошибку, программа работает неверно, написана на турбо паскале. А вот и сама задачка, точнее ее условие:
1. Создать числовой файл . Получить файл , в который записать сначала положительные, затем отрицательные и, наконец, нулевые компоненты файла . Далее в файле заменить точки стыковки последовательностей увеличением на 100 элементов стоящих слева и справа от этих точек (мест где положительные сменяются с отрицательными и отрицательные с нулевыми). Файлы и вывести до и после преобразования.
А вот,что получилось у меня:
Program lab2;
Uses crt;
type
fl=file of integer;
Var
F,G:fl;
a,n,t,t1:integer;
Begin
ClrScr;
Writeln('Введите элементы файла, конец ввода "111": ');
ASSIGN(F,'C:\F.dat');
Rewrite(F);
Read(a);
While (a<>111) Do
Begin
Write(F,a);
Read(a);
end;
Close(F);
ASSIGN(G,'C:\G.dat');
Reset(F);
Rewrite(G);
n:=0;
While not Eof(F) do
Begin
Read(F,a);
If (a>0) Then
Begin
Write(G,a);
n:=n+1;
end;
end;
Close(F);
t:=n;
Reset(F);
While not Eof(F) do
Begin
Read(F,a);
If (a<0) Then
Begin
Write(G,a);
t:=t+1;
end;
end;
Close(F);
Reset(F);
While not Eof(F) do
Begin
Read(F,a);
If (a=0) Then
Write(G,a);
end;
Close(G);
Close(F);
Reset(F);
Writeln('Вывод файла F: ');
While not Eof(F) do
Begin
Read(F,a);
Write(a);
end;
Close(F);
Reset(G);
Writeln();
Writeln('Вывод файла G: ');
While not Eof(G) do
Begin
Read(G,a);
Writeln(a);
end;
Close(G);
Reset(G);
Seek(G,n-1);
Read(G,a);
a:=a+100;
Seek(G,n-1);
Write(G,a);
Close(G);
Reset(G);
Seek(G,t-1);
Read(G,a);
Close(G);
Reset(G);
a:=a+100;
Seek(G,t-1);
Write(G,a);
Close(G);
Reset(G);
Seek(G,t);
Read(G,a);
a:=a+100;
Seek(G,t);
Write(G,a);
Close(G);
Reset(G);
Writeln('Вывод файла G: ');
While not Eof(G) do
Begin
Read(G,a);
Writeln(a);
end;
Close(G);
end.
Заранее благодарен
Mizantrop вне форума Ответить с цитированием
Старый 09.04.2010, 02:57   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

отформатируйте код и воспользуйтесь тегом...
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированные файлы hidalgo Фриланс 6 16.03.2010 12:20
Типизированные файлы qwertytol Помощь студентам 2 02.06.2009 08:44
типизированные файлы felmor Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2009 09:49
типизированные файлы MyQwErTy Паскаль, Turbo Pascal, PascalABC.NET 7 11.11.2008 20:54