Добавление и удаление чисел в списке - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Напишите программу, которая управляет списком чисел по командам, записанным в файл input.txt . Сначала список пустой. Существует две команды: '+' – добавление числа в список, и '-' – удаление числа из списка. Попытка удалить число, которого нет в списке, считается ошибкой. Входные данные В файле input.txt записаны строки с командами, последняя строка файла – пустая. Первый символ любой рабочей строки – это команда ('+' или '-'), далее без пробела записывается число, которое добавляется или удаляется. Выходные данные В файл output.txt нужно вывести все числа, которые остались в списке, разделив их пробелами. Если в списке не осталось ни одного числа, нужно вывести слово 'EMPTY'. В случае ошибки нужно вывести слово 'ERROR'. Примеры входные данные +34 +12 -34 +5 +13 -5 выходные данные 12 13

Решение задачи: «Добавление и удаление чисел в списке»

textual
Листинг программы
begin
  var L := New List<integer>;
  foreach var v in ReadAllLines('input.txt') do
    case sign(strtoint(v)) of
      -1 : if L.IndexOf(-strtoint(v)) < 0 then begin
              WriteAllText('output.txt', 'ERROR'); Halt;
           end else L.Remove(-strtoint(v));
      +1 : L.Add(strtoint(v));
    end;
  WriteAllText('output.txt', L.Count = 0 ? 'EMPTY' : L.JoinIntoString);
end.

Объяснение кода листинга программы

В этом коде используется язык программирования PascalABC.Net. Вот список действий, которые выполняются в этом коде:

  1. Создается новый список целых чисел с помощью команды var L := New List<integer>.
  2. Запускается цикл foreach, который проходит по каждой строке в файле 'input.txt'.
  3. Для каждой строки выполняется операция strtoint(v), чтобы преобразовать строку в целое число.
  4. Затем проверяется знак числа с помощью функции sign(strtoint(v)).
  5. Если число отрицательное, то проверяется, есть ли оно уже в списке с помощью метода IndexOf(-strtoint(v)).
  6. Если число не найдено в списке, то записывается сообщение об ошибке в файл 'output.txt' и выполнение программы останавливается с помощью команды Halt;.
  7. Если число положительное, то оно добавляется в список с помощью метода Add(strtoint(v)).
  8. После прохождения цикла, в файл 'output.txt' записывается количество элементов в списке, а затем сам список с помощью метода JoinIntoString.
  9. Если список пуст, то записывается сообщение EMPTY, иначе записывается список.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы