>>Отвечает Pablo >>Доброе время суток, vova! >>А ты возьми и карту Карно (или диаграмму Вейча) этой функции составь, а по ней и составишь список тупиковых >>ДНФ и найдешь из них минималную ДНФ одну или несколько. Ну а потом можешь по карте посторить в скобочной >>форме саму тупиковую или минимальную ДНФ. -------------------------------------------------------------------------------- насколько я понимаю, метод карно(да и любая минимизация) только для сднф. по таблице истинности ее получить можно - но вы, наверно, не это имели в виду. мне же нужно из заданной в базисе И,Или,Не функции(есть ее опз) путем каких-то преобразований получить днф, минуя таблицу.я что-то неправильно понял? з.ы. а что такое диаграмма вейча?
Доброе время суток, vova! Подожди у тебя есть функция представленная в виде ДСНФ так?! И тебе нада представить ее в виде минимальной ДНФ?! Ну вот я и предлагаю тебе используя карты карно (в виде твоей программы) получить МДНФ из ДСНФ минуя СДНФ. Есть методы получения ДСНФ типа методов Квайна, МакКлацки и Блейка-Порецкого, а есть методы получения минимальной ДНФ типа импликантной матрицы, метода Петрика и карты Карно (диаграммы Вейча). Диаграмма Вейча это тоже, что и карты Карно, только не с использованием 1 и 0, а с использованием x' и y'. Я предлагаю прямо из СДНФ получить МДНФ с помощью карты Карно. PS: Ответ пиши на мне мыло. Ответ отправлен: 26.09.2002, 16:32 Отправитель: Pablo
Вопрос № 256
Здравствуйте эксперты. ---------------------------------------------- Как происходит перегрузка бинарных операторов? На примере: ... class x_ { int x; public: x_(int i= 0) {x= i;} x_ operator+(x_ o1); }; ... x_ x_::operator+(x_ o1) { x_ t; t.x= x+ o1.x; // 1.1 return t; } ... x_ o2(2), o3(3), o4; o4= 02+ o3; ... ?- как o2 складывается с o3 так в ф-лу 1.1? Объясните «пошагово». ---------------------------------------------- class test_ { int test; public: test_(int x) {test= x;} // констр. ~test_(); // дестр. }; ... { // блок 1 test_ a; } ... Переменная а создается в блоке 1 и без участия конструктора класса test_..., т.е. конструктор в этом классе нужен лишь для инициализации
поля? Второй момент- когда речи не идет о выделении памяти, переменная а удаляется автоматически при выходе из блока 1, без деструктора? Спасибо заранее...!
Доброе время суток, kuper! насчет return t воркать не будет если деструктор делает что нить существенное. Так как он будет вызван после выхода из функции, для этого нужен конструктор от самого себя и будет воркать код типа return x_(t); Потом у тя здесь сложение является методом класса не более того. Если хочешь нормальное сложение, то делай friend. А в данном случае происходит вызов метода + для объекта o2, то есть this У тя в данном случае указывает на o2. Конструктор вызывается при написании test a; Если ты не объявишь конструктор типа a(), то компилятор выдаст ошибку. Да удаляется как и любой объект, так как она находится в стековой памяти. При этом если компилятор умеет раскручивать деструкторы, то они будут вызваны.(в принципе все умеют). Ответ отправлен: 27.09.2002, 09:53 Отправитель: DiGiT[old] Отвечает Yuri Gordienko
Здравствуйте, kuper! По первому вопросу я так и не понял, что ты хочешь, а по второму - При подобном как у тебя объявлении переменной вызывается конструктор по умолчанию вроде этого class TTest{ public: TTest(){a=0;} //конструктор по умолчанию TTest(int x){a=x;} private: int a; }; //Второй момент- когда речи не идет о выделении памяти, //переменная а удаляется автоматически при выходе из //блока 1, без деструктора? Деструктор вызывается обязательно
Ответ отправлен: 26.09.2002, 19:05 Отправитель: Yuri Gordienko Отвечает Pablo
Доброе время суток, kuper! 1. Ну я так понимаю, что в этом сложении просходит следующее, оператор "+" вызывается только один, раз причем (скорее всего) на входе у него переменная o1 будет равна o3, а в качестве this класс получит указатель на o2. Ну и суммируя этот метод быдаст на выход указатель на новый класс, который будет содержать значение 5 (2+3=5). 2. Переменная действительно инициализируется в конструкторе при создании класса, но когда ты создаешь класс таким образом test_ a, то для этого класса автоматически резервируется нужная для него память в стеке, а в консрукторе эта память только заполняется нужным значением. Ответ отправлен: 27.09.2002, 17:16 Отправитель: Pablo
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.