Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72

Вывести таблицу истинности на консоль

07.04.2015, 14:56. Показов 5221. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сгенерировать таблицу истинности.

Примера, для которого это надо сделать, нет.

Должна быть выводится просто таблица вида

... 0 0 0 0 0
... 0 0 0 0 1
... 0 0 0 1 0
... 0 0 0 1 1
... 0 0 1 0 0
... 0 0 1 0 1
... 0 0 1 1 0
... 0 0 1 1 1
................

и т.д. только нужно задать кол-во строк. Всё это делается в 32-разрядном массиве.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2015, 14:56
Ответы с готовыми решениями:

Вывести таблицу истинности по условию
Нужно вывести таблицу истинности (A<=>B<=>C)V!A, где <=> - эквивалентность, V - или, ! - не.

Вывести на экран таблицу истинности
Для !(A && B) вывести на экран таблицу истинности с использованием функции string Res(bool, bool). Таблица должна выводится в главной...

Вывести таблицу истинности заданного выражения
Здравствуйте , помогите пожалуйста решить задачу. Нужно вывести таблицу истинности (A<=>B<=>C)V!A

15
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.04.2015, 15:27
Таблицу истинности чего?
1
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 15:48  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Таблицу истинности чего?
В том-то и дело, что ничего. Возможно, я не так выразился.

Просто таблица, где в самом левом столбце 1 и 0 чередуются через один, во втором слева — два через два, в третьем слева четыре нуля чередуются с 4 единицами, потом их восемь и т.д.

Добавлено через 12 минут
nmcf, в общем, грубо говоря, массив с количеством столбцов — 32 и с неограниченным (а задаваемым) кол-вом строк, с левой стороны которого в каждую строку записываем числа в двоичной системе счисления последовательно. 0 1 10 11 100 101 и т.д.

... 0 0 0 0 0
... 0 0 0 0 1
... 0 0 0 1 0
... 0 0 0 1 1
... 0 0 1 0 0
... 0 0 1 0 1
... 0 0 1 1 0
... 0 0 1 1 1
................
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.04.2015, 16:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib>
#include <iostream>
#include <bitset>
 
int main()
{
    for (unsigned i = 0; i < 10; ++i)
    {
        std::bitset<32> bs(i);
        for (int j = 31; j >= 0; --j)
            std::cout << bs[j] << " ";
        std::cout << std::endl;
    }
 
    system("pause");
}
1
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 16:11  [ТС]
nmcf, пишет "Существует более одного экземпляра конструктора "std::bitset<_Bits>::bitset [с _Bits=32U]", соответствующего списку аргументов программы"
И ещё: "error C2668: std::bitset<_Bits>::bitset: неоднозначный вызов перегруженной функции"
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.04.2015, 16:15
У меня работает. Ты скопировал правильно, отсебятины не добавлял?
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
07.04.2015, 16:22
Вот без bitset
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdlib>
#include <iostream>
 
int main()
{
    for (unsigned short i = 0; i < 20; ++i)
    {
        for (int j = 15; j >= 0; --j)
            std::cout << (i>>j)%2 << " ";
        std::cout << std::endl;
    }
 
    system("pause");
}
1
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 16:26  [ТС]
nmcf, Нет, не добавлял... Просто скопировал и подключил <bitset>...

Добавлено через 1 минуту
nmcf, zss, Спасибо большое!
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
07.04.2015, 16:29
Цитата Сообщение от zss Посмотреть сообщение
for (int j = 15; j >= 0; --j)
Цитата Сообщение от BsSlayer Посмотреть сообщение
Всё это делается в 32-разрядном массиве.
так что j = 31 наверное
Цитата Сообщение от zss Посмотреть сообщение
std::cout << (i>>j)%2 << " ";
ну и добивал бы битовыми операциями
C++
1
std::cout << (i>>j)&0x01 << " ";
0
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 16:38  [ТС]
А как сделать, чтоб значение самой последней итерации записывалось в массив.
Например, я сделал ограничение до 100

C++
1
for (unsigned short i = 0; i < 100; ++i)
Значит, в массив должно записаться "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1"
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
07.04.2015, 17:28
Цитата Сообщение от BsSlayer Посмотреть сообщение
значение самой последней итерации записывалось в массив
C++
1
2
3
4
5
6
for (int j = 15; j >= 0; --j)
{
     std::cout << (i>>j)&0x01 << " ";
     if(i==99)
       mass[j]=(i>>j)&0x01;
}
0
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 17:44  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
6
for (int j = 15; j >= 0; --j)
{
     std::cout << (i>>j)&0x01 << " ";
     if(i==99)
       mass[j]=(i>>j)&0x01;
}
Когда потом вывжу тот массив, получается только два смайла...
Миниатюры
Вывести таблицу истинности на консоль  
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
07.04.2015, 17:52
Он должен быть числовой, а не символьный (или приводите к числу) при выводе.
0
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 18:02  [ТС]
Так в том-то и дело, что даже с числовым не выходит. Потому и пробовал уже char на всякий случай...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int mass[32] = {0};
 
    for (unsigned short i = 0; i < 100; ++i)
    {
        for (int j = 31; j >= 0; --j)
        {
            std::cout << (i>>j)%2 << " ";
            if(i==99)
            {
            mass[j]=(i>>j)%2;
            }
        }
        std::cout << std::endl;     
    } 
    system("pause");
 
    system("cls");
 
    cout << mass << endl;
 
    system("pause");
Вот, что выходит с числовым массивом...
Миниатюры
Вывести таблицу истинности на консоль  
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
07.04.2015, 18:07
Цитата Сообщение от BsSlayer Посмотреть сообщение
cout << mass << endl;
а кто так массив выводит на экран?
также ручками в цикле по одной ячейке
0
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 72
07.04.2015, 18:13  [ТС]
ValeryS, аййййй, точно, вот я тупарь. Спасибо большое.
Аж стыдно, блин
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2015, 18:13
Помогаю со студенческими работами здесь

Определить существенные и фиктивные переменные. Вывести на экран таблицу истинности для существенных переменных
Для функции трёх переменных определить существенные и фиктивные переменные. Вывести на экран таблицу истинности для существенных...

Вывести в консоль таблицу умножения
1. Вывести таблицу умножения для чисел от 1 до 9 в следующем виде: (Это должно быть в консольном приложении , просто здесь как...

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

Вывести на экран таблицу истинности
№1.Вывести на экран таблицу истинности (след.Булевой функции) F=P and not (g or r) and t; (сделать с вложенной функцией). №2.Дано...

Вывести таблицу истинности для логической функции
Здравствуйте! Вообщем получил задание на зачет. Сделал по своему, преподователю не понравилось. Другово подхода к решению задания я не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru