Таблица истинности - C (СИ)

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

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

Нужно написать программу для построения таблицы истинности функции. F ≡ ((A ↔ B) → C)∧((¬B∧A) → D) В таблице должны содержаться след. Столбцы: • A,B,C,D • A,B,C,D • E :≡ A ↔ B • G :≡ (A ↔ B) → C ≡ E → C • H :≡ ¬B∧A • I :≡ (¬B∧A) → D ≡ H → D • F ≡ G∧I (общая формула) Нельзя использовать "If", "Switch" и "?:" операторы. Примерно таблица должна выглядеть след. Образом: | A | B | C | D | E = A <-> B | G = E -> C | H = (NOT B) AND A | I = H->D | F | +---+---+---+---+------------------+----------------+-------------------------------+-------------+---+ | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | . . .
Вот мой код программы. Но почему то рассчитывается не вся таблица, а только первая строчка. Как сделать, чтобы был рассвет для всех 16 строчек?
#include<stdio.h>
 
  int A,B,C,D; 
  int E,F,G,H,I; 
  int j;
 
 int main(void) 
{
     printf(" | A | B | C | D |E = A <->  B | G = E -> C | H = (NOT B) AND A | I = H -> D | F |\ n" );
     printf("+---+--+--+---+--------------+-------------+-----------------------+-----------------+\ n" );
    for (int j =0; j < 16; j++);
 {
           D = ( j/1 ) %2;
           C = ( j/2 ) %2;
           B = ( j/4 ) %2;
           A = ( j/8 ) %2;
           
           E = A == B;
           G = (!E)|C;
           H = (!B)&(A);
           I = (!H)|D;
           F = G&I;
 
      printf("| %d | %d | %d | %d |      %d      |     %d      |     %d             |      %d     | %d |\n", A,B,C,D,E,F,G,H,I,F);
   }
 return 0;
}

Решение задачи: «Таблица истинности»

textual
Листинг программы
for (int j =0; j < 16; j++);

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


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

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

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