Pascal, помогите, пожалуйста.Создайте файл f целых чисел от А до В (значения вводятся с...

0 голосов
46 просмотров

Pascal, помогите, пожалуйста.

Создайте файл f целых чисел от А до В (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 3 файла:
- содержащий отрицательные числа,
- содержащий положительные числа,
- содержащий нуль.

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


Информатика (30 баллов) | 46 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
  f: string := 'output1.txt';
  fo: array of string := ('out1.txt', 'out2.txt', 'out3.txt');
  bools: array [0..2] of boolean;
  a, b: integer;

begin
  System.IO.File.WriteAllText(f, '');
  foreach str: string in fo do
    System.IO.File.WriteAllText(str, '');
  
  readln(a, b);
  for i: integer := a to b do
    System.IO.File.AppendAllText(f, i.toString() + System.Environment.NewLine);
  
  foreach str: string in System.IO.File.ReadAllLines(f) do
  begin
    b := StrToInt(str);
    bools[System.Math.Sign(b) + 1] := true;
    System.IO.File.AppendAllText(fo[System.Math.Sign(b) + 1], b.ToString() + System.Environment.NewLine);
  end;
  
  for i: integer := 0 to 2 do
    if not (bools[i]) then
    begin
      write('В файле с ');
      case i of
        2: write('положительными');
        1: write('нулевыми');
        0: write('отрицательными');
      end;
      writeln(' значениями нет записей');
    end;
end.

(16.9k баллов)