Я призываю вас написать код для создания (расширенной) логической схемы логического элемента ASCII-искусства для формы уравнения суммы продуктов.
Используйте следующие обозначения для представления ворот:
И INPUT───|&&
|&&───OUTPUT
INPUT───|&&
ИЛИ
INPUT───|OR
|OR───OUTPUT
INPUT───|OR
Ворота с более чем 2 входами
INPUT───|OR
|OR
INPUT───|OR───OUTPUT
|OR
INPUT───|OR
НЕ
INPUT───│>o───OUTPUT
Набор символов
Обратите внимание, что │
это не знак канала ASCII, а символ рисования прямоугольника . Используйте символы рисования коробок, например, ─ │ ┌ ┐ └ ┘
для соединений.
пример
вход A'*B'+B*C
Выход
A────│>o────│&&
│&&─────┐
B────│>o────│&& └│OR
│OR─────A*B+B*C
B───────────│&& ┌│OR
│&&─────┘
C───────────│&&
победитель
Победителем является ответ с наибольшим количеством голосов за 5 дней
popularity-contest
ascii-art
Мукул Кумар
источник
источник
─ │ ┌ ┐ └ ┘
. Я думаю, что вы имеете в виду набор символов MS-DOS . Кроме того, разве в вашем примере не должно быть одногоB
входного разбиения между двумя элементами И? И можем ли мы предположить, что не будет необходимости где-либо пересекать провода?─│
а не─┤
.Ответы:
C ++ 11
Готово наконец. И это заняло у меня большую часть дня.
Прежде чем я перечислю код и пример вывода, несколько быстрых заметок:
Вещи, которые поддерживает эта программа
Вещи, которые не поддерживает эта программа
char
буфер.Код
Образец вывода
Пример вывода (с включенным CP437)
источник
#include <vector>
C ++
Вот так! Сделано за 1 день 12 часов !!!
Этот код обрабатывает только массив
ВХОД (ВИДЫ)
Только сложение слагаемых с умножением двух переменных
Может обрабатывать любое количество терминов, переменных.
КОД: -
ВЫХОД
источник