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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2014, 13:26   #1
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
Сообщение Текстовые файлы. Проблема с вводом данных

Всем доброго времени суток, надеюсь на вашу доброту и вы мне поможете в следующей задаче:
"При заданных одномерных массивах A, B, C (n-максимальная длина всех) для каждой из n троек вида (A[i],B[i],C[i]) проверить, может ли быть построен треугольник со сторонами A[i],B[i],C[i], при этом подсчитать число треугольников и сумму их периметров." Кроме этого, необходимо использовать два файла - выходной и входной.
Код:
program Pr1a4a2b;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  System.SysUtils;
 
Var
  p:real;
  f1, f2: Text;
  name:string[80];
  A, B, C: array[1..50] of real;
  i, k, n: integer;
 
begin
  writeln ('Vvedite imay vhodnogo faila');
  readln (name);
  AssignFile (f1, name);
  {$I-}
      reset (f1);
  {$I+}
  if IOresult=2 then
    writeln ('Takogo fila net')
  else
    begin
      writeln ('Vvedite name vihodnogo fila');
      readln (name);
      AssignFile (f2,name);
      rewrite (f2);
      readln (f1,n);
      for i:=1 to n do
        read(f1, A[i]);
      for i:=1 to n do
        read(f1, B[i]);
      for i:=1 to n do
        read(f1, C[i]);
      k:=0;
      for i:=1 to n do
        if (A[i]<(B[i]+C[i])) and (B[i]<(A[i]+C[i])) and (C[i]<(A[i]+B[i])) then
          begin
            inc(k);
            p:=p+C[i]+A[i]+B[i];
          end;
      writeln (f2, 'Resultati ischesleniy:');
      writeln (f2, 'Kolichestvo vozmoznih treygolnikov: ', k);
      writeln (f2, 'Perimetr=', p:7:2);
      CloseFile (f1);
      CloseFile (f2);
    end;
  readln;
end.
Проблема то состоит в том что, при вводе данных после rewrite (f2) программа ничего не видит. И тем самым я получаю текстовой файл с результатами 0 0.
IvanNaymov вне форума Ответить с цитированием
Старый 14.12.2014, 16:30   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

rewrite - это режим "только запись". Чтение в нем проводить нельзя!
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 14.12.2014, 17:04   #3
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
rewrite - это режим "только запись". Чтение в нем проводить нельзя!
Чтение идет из файла присвоенного к файловый переменной с помощью reset.

Последний раз редактировалось IvanNaymov; 14.12.2014 в 17:07.
IvanNaymov вне форума Ответить с цитированием
Старый 14.12.2014, 17:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
rewrite - это режим "только запись". Чтение в нем проводить нельзя!
Что, азов не знамо балы выбиваем?
Цитата:
IvanNaymov
Не слушай ты его, он чепуху сморозил.
Цитата:
программа ничего не видит. И тем самым я получаю текстовой файл с результатами 0 0.
Значит не выполняется условие.
Убери условие чисто ради проверки, и посмотри что будет выводиться в файл.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2014, 17:57   #5
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
По умолчанию

Так дело то не в этом - я не могу ввести ничего, то есть readln (f1, n) и ввод массивов не работает.
IvanNaymov вне форума Ответить с цитированием
Старый 15.12.2014, 17:45   #6
IvanNaymov
 
Регистрация: 14.12.2014
Сообщений: 6
По умолчанию

Все тему можно закрывать - чего то я, просто тупанул, не понял как действует ввод из файла f1.
IvanNaymov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с вводом данных в форму Some0ne Общие вопросы по Java, Java SE, Kotlin 0 26.05.2012 17:51
проблема с вводом данных в DBEdit bond1 БД в Delphi 10 20.05.2011 22:58
Проблема с вводом данных в файл. Bilargo Помощь студентам 9 12.10.2009 20:59
Добавление данных в текстовые файлы. Другие процедуры и функции для обработки текстовых файлов student2009 Помощь студентам 1 02.06.2009 08:44
Добавление данных в текстовые файлы. Другие процедуры и функции для обработки текстовых файлов student2009 Паскаль, Turbo Pascal, PascalABC.NET 5 01.06.2009 21:27