Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 088
от 29.09.2002, 21:30

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 260
Отправлено ответов: 584
Активность: 224.6 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pablo
Статус: Профессиональный
Общий рейтинг: 131.5
URL: Моя страничка
[Подробней >>]
DiGiT[old]
Статус: Доверительный
Общий рейтинг: 111.38
[Подробней >>]
Yuri Gordienko
Статус: Доверительный
Общий рейтинг: 129.52
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 254. >>Отвечает Pablo >>Доброе время суток, vova! >>А ты возьми и карту Карно (или диаграмму Вейча) этой ... (ответов: 1)
Вопрос № 256. Здравствуйте эксперты. ---------------------------------------------- Как происходит перегрузка бина... (ответов: 3)

Вопросов: 2, ответов: 4


 Вопрос № 254

>>Отвечает Pablo
>>Доброе время суток, vova!
>>А ты возьми и карту Карно (или диаграмму Вейча) этой функции составь, а по ней и составишь список тупиковых
>>ДНФ и найдешь из них минималную ДНФ одну или несколько. Ну а потом можешь по карте посторить в скобочной
>>форме саму тупиковую или минимальную ДНФ.
--------------------------------------------------------------------------------
насколько я понимаю, метод карно(да и любая минимизация) только для сднф. по таблице истинности ее получить можно - но вы, наверно, не это имели в виду. мне же нужно из заданной в базисе И,Или,Не функции(есть ее опз) путем каких-то преобразований получить днф, минуя таблицу.я что-то неправильно понял?
з.ы. а что такое диаграмма вейча?



Вопрос отправлен: 26.09.2002, 00:24
Отправитель: vova

[Следующий вопрос >>] [Список вопросов]

Отвечает Pablo

Доброе время суток, 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, без деструктора?
Спасибо заранее...!



Вопрос отправлен: 26.09.2002, 17:28
Отправитель: kuper

[Следующий вопрос >>] [Список вопросов]

Отвечает DiGiT[old]

Доброе время суток, 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.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (38)
C / C++ (30)
Perl (7)
Delphi (16)
Pascal (22)
Basic / VBA (12)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (32)
"Железо" (35)
Поиск информации (15)
Администратору
Windows NT/2000/XP (17)
Linux / Unix (19)
Юристу
Гражданское право (8)
Семейное право (4)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное