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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2010, 15:04   #1
bunny
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 23
По умолчанию файл целых чисел.

233. Задано текстовий файл цілих чисел, визначити, чи є він упорядкованим по збільшенню.
никаких идей...всё в тумане, с файлами работать не умею..
начало вроде так
type
mas=array [0..9] of integer;
var
f: text i ;

begin
AssignFile(f,'text.txt');
reset(f);
for i=0 to 10 do
begin
readln(f,m[i]);
end;
close(f);

end.
но выдаёт ошибку на текст и в варе

Последний раз редактировалось bunny; 23.11.2010 в 15:40.
bunny вне форума Ответить с цитированием
Старый 23.11.2010, 19:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вопрос так стоит?
Цитата:
Задан текстовый файл целых чисел, определить, является ли он упорядоченным по увеличению.
Так... писать код самостоятельно будете?
Алгоритм очень простой.
Упорядоченный по увеличению - это значит, что каждый следующий элемент файла БОЛЬШЕ, чем предыдущий.
Если это условие нарушается - всё. файл не упорядочен.
Цикл чтения прерывается. сообщение и выход из программы.

Массивы тут никакие не нужны. Достаточно хранить одно предыдущее число.

читать числа из текстового файла можно таким кодом:
Код:
  var f : textfile;
    PredNumber, CurrentNumber : integer;
    isSorted : boolean;
...
begin
   AssignFile(f,'Chisla.txt');
   Reset(f);
   if eof(f) then begin
      CloseFile(f);
      WriteLn('Делать нечего - исходный файл пуст!');
      Halt(1); 
   end;
   Read(f, PredNumber);
   WriteLn('первое число в файле: ', PredNumber);

   isSorted := true; {считаем, что файл отсортирован}
   while (Not Eof(f)) and (isSorted) do begin
      Read(f, CurrentNumber);
      WriteLn('очередное число: ',CurrentNumber);

      тут условие проверки, сравнения чисел PredNumber и CurrentNumber
      если условие не выполняется то isSorted := false;
      
      {запомним считанное число, как предыдущее }
      PredNumber := CurrentNumber;
   end;
   CloseFile(f);

   if isSorted then WriteLn('Файл отсортирован.')
   else WriteLn('Файл не отсортирован.');
   Readln;   


end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.11.2010, 21:22   #3
bunny
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 23
По умолчанию

у меня преподаватель старый пень,велел делать через масив. сделала как в начале писала, но применила тоже потом булевскую функцию) и заработало))
bunny вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать массив целых чисел и записать его в файл Desvi Паскаль, Turbo Pascal, PascalABC.NET 3 07.06.2010 19:04
Задан файл f1 целых чисел Andreu123 Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2010 15:18
Ввести ФАЙЛ целых положительных чисел F1 looloo Помощь студентам 7 06.04.2010 10:08
Создать двоичный файл и записать в него n целых чисел. Нездешний Помощь студентам 3 18.10.2009 17:27