Te reto a que escribas un código para hacer un diagrama de puerta lógica (extendido) de arte ASCII para la suma de productos en forma de una ecuación.
Use la siguiente notación para representar puertas:
Y INPUT───|&&
|&&───OUTPUT
INPUT───|&&
O
INPUT───|OR
|OR───OUTPUT
INPUT───|OR
Puertas con más de 2 entradas.
INPUT───|OR
|OR
INPUT───|OR───OUTPUT
|OR
INPUT───|OR
NO
INPUT───│>o───OUTPUT
Conjunto de caracteres
Tenga en cuenta que │
no es un signo de tubería ASCII sino un carácter de dibujo de caja . Utilice caracteres de dibujo de recuadro, como ─ │ ┌ ┐ └ ┘
para las conexiones.
Ejemplo
Entrada A'*B'+B*C
Salida
A────│>o────│&&
│&&─────┐
B────│>o────│&& └│OR
│OR─────A*B+B*C
B───────────│&& ┌│OR
│&&─────┘
C───────────│&&
Ganador
El ganador es la respuesta con más votos positivos en 5 días.
popularity-contest
ascii-art
Mukul Kumar
fuente
fuente
─ │ ┌ ┐ └ ┘
. Creo que te refieres al juego de caracteres MS-DOS . Además, ¿no debería su ejemplo tener una solaB
entrada dividida entre las dos compuertas AND? ¿Y podemos suponer que no habrá necesidad de que los cables se crucen en ningún lado?─│
lugar de hacerlo─┤
.Respuestas:
C ++ 11
Hecho por fin. Y solo me llevó la mayor parte del día.
Antes de enumerar el código y la salida de muestra, algunas notas rápidas:
Cosas que este programa admite
Cosas que este programa no admite
char
búfer bidimensional .Código
Salida de muestra
Salida de muestra (con CP437 habilitado)
fuente
#include <vector>
C ++
¡Uf! Hecho en 1 día 12 hrs !!!
Este código maneja solo la matriz
ENTRADA (TIPOS)
Solo suma de términos con multiplicación de dos variables
Puede manejar cualquier cantidad de términos, variables.
CÓDIGO: -
SALIDA
fuente