|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|
Вычисление значения логического выражения, состоящего из натуральных чисел, скобок и поразрядных операций20.03.2013, 15:56. Показов 3203. Ответов 14
Метки нет (Все метки)
Дорогие друзья, помогите написать программу, не могу понять как и даже с чего начать. Можете дать, пожалуйста, код и написать в комментариях что к чему, буду очень благодарен!!! А вот собственно говоря задание:
Написать программу на языке C++ вычисления значения логического выражения, состоящего из натуральных чисел, скобок и поразрядных операций ‘–’ (“не”), ‘&’ (“и”), ‘|’ (“или”). Приоритет у ‘–’ самый высокий, далее идет ‘&’. Самый низкий приоритет у операции ‘|’. Применить стеки для вычисления этого значения.
0
|
|
| 20.03.2013, 15:56 | |
|
Ответы с готовыми решениями:
14
Найдите значение выражения, состоящего из чисел и операций. Вычисление значения логического выражения |
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 20.03.2013, 16:14 | |||||||
|
Вот Вам примерчик:
1. Не понятно почему при вычислении логического выражения требуется использовать поразрядные операции (а не логические). 2. Побитовая операция дополнения пишется как "~" (тильда). 3. Что значит :
0
|
|||||||
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|||||||||||
| 20.03.2013, 17:12 [ТС] | |||||||||||
|
Вот Вам примерчик:
0
|
|||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 20.03.2013, 17:27 | ||
1
|
||
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|
| 20.03.2013, 17:30 [ТС] | |
|
Я понимаю что вы и так много для меня сделали, но все же, если вам не трудно помогите пожалуйста закончить с этой программой, нужно чтобы мы сами вводили выражение логическое, как быть? и как это сделать? и не употребили одну операцию "НЕ (-)"
0
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,858
|
|||
| 20.03.2013, 17:57 | |||
|
ты привел побитовую арифметику а не логическую смотрим(для char) 2|3=3 (00000010 | 00000011= 00000011) 1&3=1 (00000001&00000011=00000001) ~1=-2 (~00000001=11111110) для побитовой арифметики существуют 4 действия & "И" | "ИЛИ" ~ "НЕ" инверсия 0 в 1 1 в 0 ^ "исключающие ИЛИ" есть еще <<сдвиг влево >> сдвиг вправо для логической арифметики существует 3 действия && "И" || "ИЛИ" ! "НЕ" разница между ними в том что побитовая действует над каждым битом, а логическая над всем числом и оперирует двумя значениями "истина"(true !=0) "ложь"(false ==0) http://cppstudio.com/uchebniki... peracii-c/ http://cppstudio.com/uchebniki... -i-ili-ne/
0
|
|||
|
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
|
|
| 20.03.2013, 18:06 | |
|
В вашей задачи операции обозначаются одним символом (& вместо &&) для удобства - положить на стек символ или массив символов/строку и сравнивать естественно символ или массив символов/строку.
Посмотрите в сторону польской нотации, можно перевести выражение в постфиксную/префиксную форму и вычислить.
0
|
|
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|
| 20.03.2013, 18:07 [ТС] | |
|
0
|
|
|
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
|
|
| 20.03.2013, 18:13 | |
|
перевод в постфиксную/префиксную форму с помощью стека (в стеке хранятся операции), вычисление выражения - тоже (в стеке хранятся значения).
0
|
|
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|
| 20.03.2013, 18:15 [ТС] | |
|
А есть пример какой-либо??? я бы не прочь глянуть, а то так не совсем понимаю
0
|
|
|
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
|
|
| 20.03.2013, 18:22 | |
|
На примере арифметических операций.
3 + 4 * 5 в постфиксной форме выглядит так: 3 4 5 * + вычисляем выражение (идем слева направо) 1. встретили 3 - положили на стек 2. встретили 4 - положили на стек 3. встретили 5 - положили на стек 4. встретили операцию * - вытащили 2 верхних элемента из стека выполнили над ними операцию *, результат положили на стек 5. встретили операцию + - вытащили 2 верхних элемента из стека выполнили над ними операцию +, результат положили на стек 6. конец выражения - результат выражения в стеке. как переводить в постфиксную форму можете поискать, алгоритм найти легко)
0
|
|
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
||||||
| 20.03.2013, 18:27 [ТС] | ||||||
0
|
||||||
|
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
|
|
| 20.03.2013, 18:52 | |
|
меняете знаки + на |, * на && и так далее
1
|
|
|
2 / 2 / 1
Регистрация: 19.09.2012
Сообщений: 106
|
|
| 20.03.2013, 19:01 [ТС] | |
|
Спасибо, уже сделал, только про отрицание....ставлю ~ а он выдает ошибку........как еще можно отрицание задать, ведь просто ставя минус это ведь не правильно(((
0
|
|
|
0 / 0 / 1
Регистрация: 13.05.2014
Сообщений: 9
|
|
| 13.05.2014, 11:25 | |
|
! знак отрицание
Добавлено через 3 минуты можешь скинуть код, если исправил эту задачу
0
|
|
| 13.05.2014, 11:25 | |
|
Помогаю со студенческими работами здесь
15
Вычисление значения логического выражения Вычисление значения логического выражения КНФ Вычислить точно значение арифметического выражения, состоящего из целых чисел и констант и знаков операций Работа со стеком. Вычисление значения логического выражения Вычисление значения логического выражения, заданного в виде строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|