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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2010, 17:04   #1
Pavelhr
 
Аватар для Pavelhr
 
Регистрация: 06.10.2008
Сообщений: 9
Радость Помогите исправить Ошибку

Добрый вечер, помогите пожалуйста найти и исправить ошибку:
в процедуре вывода файла (Show) ошибка на FILE OF K (что-то не нравиться)
Код:
uses crt;

const
n=10;

type
k = array[1..n] of integer;

var
isFile,ExitFile :file of k;
a :k;
i,j :integer;

{-------------------------------------Создание файла    --------------------------------------}
 procedure isFileCreate;
    begin
	{$I-}
	reset(isFile);
	{$I+}
	
	if ioresult<>0 then begin
        textcolor(4);
	writeln('File Not found! We Create...');
        textcolor(7);
    rewrite(isFile);
	repeat
	  for i:=1 to n do
	  a[i]:=random(50);
	  write(isFile,a);
	  writeln('To add still ?, Y/N');
	until Upcase (readkey)='N';
	                    end;
    end;
	
{-------------------------------------    Вывод файла    ---------------------------------------}
  procedure isShow(s :string; f :file of k);        {процедура вывода файла}
    begin
      writeln;
      writeln(s);

      reset(f);            {Проверяем наличае пути к файлу, точнее проверяем файл}
      while not eof(f) do begin
        read(f,a);		{читаем файл}
		for i:=1 to n do
        write(a[i]:4);                  {выводим данные из файла}
		writeln;
                end;
    end;
	
{------------------------------------    Сортировка    -------------------------------------------}	
   procedure isSort;
   var
   buf :integer;
     begin
      i:=1;
      reset(isFile);
      rewrite(ExitFile);
      for j:=1 to filesize(isFile) do begin
      read(isFile,a);
       while i<=n-1 do begin
        buf:=a[i];
        a[i]:=a[i+1];
        a[i+1]:=buf;
        inc(i);
        inc(i);
                       end;
	  write(ExitFile,a);
      i:=1;
                                      end;
     end;

{-----------------------------------    Головная программа   --------------------------------}
BEGIN
clrscr;
randomize;

assign (isFile,'isFile.phr');
assign (ExitFile,'ExitFile.phr');

	isFileCreate;
	isShow('Source file:',isFile);

	isSort;
	isShow('The changed file:',ExitFile);
	
close(isFile);
close(ExitFile);	
	
readkey;
END.
Pavelhr вне форума Ответить с цитированием
Старый 16.01.2010, 11:35   #2
Ser@Fim
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 19
По умолчанию

Создай свой тип для типизированного файла.
Код:
type
   k = array[1..n] of integer;
   MyFile=file of k;
//...
var
isFile,ExitFile : MyFile;
//...
 procedure isShow(s :string; f :MyFile);        {процедура вывода файла}
Ser@Fim вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку KARUSHEV Помощь студентам 9 10.09.2009 13:01
Помогите исправить ошибку Ortega Общие вопросы C/C++ 6 04.06.2009 22:39
Помогите исправить ошибку! samuex Microsoft Office Word 1 24.02.2009 22:05
Помогите исправить ошибку sergoss Общие вопросы Delphi 2 14.02.2009 09:59
помогите исправить ошибку. RUSLAN13 Помощь студентам 1 25.12.2008 17:22