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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2013, 05:15   #11
Hausgeist
Новичок
Джуниор
 
Регистрация: 25.06.2013
Сообщений: 1
По умолчанию

Ничего из выше написанного не помогает, наверное я настолько валенок что даже валенок не такой валенковый... сдать отчет с этой задачкой нужно уже завтра... так что охота хотя бы как постфактум узнать из-за какой фуйни я не получил допуск к экзамену. Код ниже.
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Var
  Fil,Nim:File of Real; FilName: String[12]; comp,min:Real; i,k:Integer;
begin
  Write('Wvedit" imja fajlu: ');
  Readln(FilName);
  Assign(Fil, FilName);
  Rewrite(Fil);
  Write('Wvedit" k-t" elementiv: ');
  Readln(k);
  for i:=1 to k  do
    begin
      read(comp);
      Write(Fil, comp);
    end;
  min:=comp;
  Reset(Fil);
  for i:=1 to k  do
    begin
      read(Fil,comp);
      if min>comp then min:=comp;
    end;
  Close(Fil);
  Write('Wvedit" imja fajlu de bude zapysanyj MIN: ');
  Readln(FilName);
  Assign(Nim, FilName);
  Rewrite(Nim);
  Write(Nim, min);
  Reset(Nim);
  read(Nim,comp);:mad:
  Writeln(comp:5:3);
  Close(Nim);
  readln;  readln;
end.
Задание: Создать программу которая позволяет вводит указанное пользователем кол-во чисел, потом перечитывает файл - находит минимальное и записывает в другой файл откуда мы его и выводим на экран. Писал в делфи, но тема как бы паскаль... Ошибка возле смайлика.

Последний раз редактировалось Stilet; 25.06.2013 в 08:21.
Hausgeist вне форума Ответить с цитированием
Старый 25.06.2013, 09:59   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не проверял, но я бы, прежде чем читать из файла, сначала ЗАКРЫВАЛ файл.
т.е. (выделил добавленные операторы)
Код:
....
  Assign(Fil, FilName);
  Rewrite(Fil);
  Write('Wvedit" k-t" elementiv: ');
  Readln(k);
  for i:=1 to k  do
    begin
      readln(comp);
      Write(Fil, comp);
    end;
  min:=comp;

  Close(Fil);

  Reset(Fil);
  for i:=1 to k  do
    begin
      read(Fil,comp);
      if min>comp then min:=comp;
    end;
  Close(Fil);
  Write('Wvedit" imja fajlu de bude zapysanyj MIN: ');
  Readln(FilName);
  Assign(Nim, FilName);
  Rewrite(Nim);
  Write(Nim, min);

  Close(Nim);

  Reset(Nim);
  read(Nim,comp);:mad:
  Writeln(comp:5:3);
  Close(Nim);
...
p.s. я бы ещё чтение чисел через ReadLn сделал..

p.p.s. а ещё, никто не мешает Вам прочитать ваши файлы (отдельной программой) и посмотреть, что там реально внутри находится!

Последний раз редактировалось Serge_Bliznykov; 25.06.2013 в 10:10.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.06.2013, 22:57   #13
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Umnik1 Посмотреть сообщение
заработало когда reset(f,1) написал...
а как read работаяет я не знаю)
Собственно, Вас с самого начала спрашивали, как описан файл. Вы так и не ответили.
Теперь, когда Вы указали один из вариантов исправления ошибки, стало ясно, что вместо file of real Вы объявили просто file.
Отсюда и ошибка.

Вывод: нужно полностью приводить весь существенный код.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: ошибка при открытии файла Retiz Помощь студентам 2 30.08.2008 22:12
ошибка чтения KiSH333 БД в Delphi 12 22.08.2008 11:09
Програма чтения из файла на дельфи terminadoor Помощь студентам 18 03.07.2008 18:14
Ошибка, связанная с загрузкой из файла! kayman Помощь студентам 5 01.06.2008 21:23