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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 11:42   #1
Liлёк
 
Регистрация: 07.12.2010
Сообщений: 5
По умолчанию файлы.

Написала программу, но она не работает. подскажите, пожалуйста, где я допускаю ошибку.
Нужно создать файл, где компонентой будет одномерный массив. каждую компоненту нужно рассортировать горкой и записать во второй файл. Создание , вывод файла и сортировку нужно организовать с помощью процедур.

uses crt; const n=10;m=5;
type mas=array[1..n] of integer;
a=mas;fil=file of mas;
var f1,f2:fil;
c,i,j:integer;
procedure sozd_file(var f:fil);
begin
rewrite(f);
for j:=1 to random(m)+3 do begin
for i:=1 to n do
a[i]:=random(100);
write(f,a); end;
end;
procedure viv_file(var f:fil);
begin
reset(f);
writeln;
while not eof(f) do
begin
read(f,a);
for i:=1 to n do write(a[i]:4);
writeln;
end;
end;
procedure sort_gork;
var c,i,j:integer;
begin
reset(f1);rewrite(f2);
while not eof(f1) do begin
read(f1,a);
for j:=1 to n do
for i:=1 to n-j do end;
if a[i]>a[i+1] then
i:=2;
repeat
for j:=n downto i+1 do
begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
inc(i);
dec(j);
until i>j;
end;
begin
clrscr;randomize;
assign(f1,'f1 prim1.int');
assign(f2,'f2 prim1.int');
writeln('ishodn.file');
sozd_file(f1,a);viv_file(f1);
rewrite(f2);
sort_gork;viv_file(f2);
end.
Liлёк вне форума Ответить с цитированием
Старый 25.12.2010, 11:48   #2
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

В процедуре procedure sozd_file(var f:fil);и procedure viv_file(var f:fil);
Допиши Close (f);
Ybn2 вне форума Ответить с цитированием
Старый 25.12.2010, 12:03   #3
Liлёк
 
Регистрация: 07.12.2010
Сообщений: 5
По умолчанию

спасибо, но от того что я добавила close(f) она работать не стала((
Liлёк вне форума Ответить с цитированием
Старый 25.12.2010, 12:13   #4
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

У тебя не хватает еще одной процедуры вывода массива! Сейчас напишу!
Ybn2 вне форума Ответить с цитированием
Старый 25.12.2010, 12:26   #5
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Код:
uses Crt;

const n=10;m=5;
type mas=array[1..n] of integer;
fil=file of mas;

var f1,f2:fil;
c,i,j:integer;
a:mas;

procedure sozd_file(name:String);
Var
f:Fil;
begin
assign(f,name);
rewrite(f);
  for j:=1 to random(m)+3 do
    begin
      for i:=1 to n do
        a[i]:=random(100);
          write(f,a);
    end;
  Close(f);
end;

procedure viv_file(name:String; Var a:mas);
Var f:File of Mas;
begin
assign(f,name);
reset(f);
writeln;
while not eof(f) do read(f,a);
end;

Procedure Vivod (a:mas);
Begin
WriteLn ('Вывод массива');
for i:=1 to n do write(a[i]:4);
writeln;
end;

procedure sort_gork (a:Mas);
var c,i,j:integer;
begin
  //Эта процедура не работает
end;

begin
clrscr
randomize;
writeln('ishodn.file');
sozd_file('prim1.int');
WriteLn ('Fail cozdan');
viv_file('prim1.int',a);

vivod (a);
ReadLn;

sort_gork;
vivod (a);
readLn;
end.
процедура сортировки не работает!
Ybn2 вне форума Ответить с цитированием
Старый 25.12.2010, 14:51   #6
Liлёк
 
Регистрация: 07.12.2010
Сообщений: 5
По умолчанию

Спасибо)
А не могли бы вы мне еще подсказать каким способом можно рассортировать горкой?
Liлёк вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы Екатерина55555 Помощь студентам 1 29.11.2010 20:33
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Файлы Алексей Д. Помощь студентам 10 07.05.2008 23:07
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53