Задача: Логические функции (с параметрами)

Тема в разделе "C/C++/C#", создана пользователем Arty, 25 ноя 2010.

Статус темы:
Закрыта.
  1. Arty

    Arty Гость

  2. Arty

    Arty Гость

    нету никаких идей? :rolleyes:
     
  3. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Пока не понимаю самого задания....
    Переведите пожалуйста вот эту запись???
     
  4. Arty

    Arty Гость

    Оххх спасиб что ответил B) хоть кто то. Ммм как я понял это если n=4, то 2**n- 2 в степени n. Общее число строк - 16. Видимо из дискретной математики.
     
  5. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Вообще первое что пришло на ум, когда задание увидел - это реализация через битовые множества STL (std::bitset)...
    Это быстро, без лишних мозговых затрат, в то же время граммотно и красиво...
    Но все же в твоей задачи когда уже будешь сам класс делать, нужна динамика, а вот STL-bitset ее не поддерживает (кстати именно по этому ее и хают).... Но в этом случае нам на помощь может прийти библиотека BOOST там реазизован boost::dynamic_bitset<> - хорошая штука кстати, и как раз решит все проблемы...
    По поводу левых библиотек можешь не париться - BOOST уже общепризнаная практически включенная в стандарт языка...

    Так же реализация не плохая будет с векторами....

    Код (C++):
    #include <iostream>
    #include <bitset>
    using namespace std;



    void main(void)
    {
    setlocale(LC_ALL,"Russian");
    const size_t SizeFunct = 3; //Размер функции
    const size_t SizeVal = 2; //Размер парамметров

    std::bitset <SizeFunct> Funct; //Битовое множество для функции
    std::bitset<SizeVal> Val; //Битовое множество для парамметров

    int SteepVal = 2; //Шаг изменения значений парамметров
    int SteepFunct = 1; //Шаг измемения системы функций

    int Temp = 0; //Временное значение

    cout<<"Размерность Функции : "<< SizeFunct << endl;
    cout<<"Размерность Парамметров : "<< SizeVal << endl;
    cout<<"Шаг измемения системы функций : "<< SteepFunct << endl;
    cout<<"Шаг изменения значений парамметров : "<< SteepVal << endl;

    for (int i = 0; i<(int)pow(2.0,(int)SizeFunct); i+=SteepFunct)
    {
    if (Temp >= (int)pow(2.0,(int)SizeVal))
    {
    Temp = 0;
    }
    Funct = i;
    Val = Temp;
    cout << Funct<<"("<< Val << ")" << endl;
    Temp+=SteepVal;
    }


    }
     

    Вложения:

    • sb1.jpg
      sb1.jpg
      Размер файла:
      36,5 КБ
      Просмотров:
      68
    • sb2.jpg
      sb2.jpg
      Размер файла:
      32,7 КБ
      Просмотров:
      71
  6. Arty

    Arty Гость

    B) охх ещё раз спасибо. Ммм почитал об этом Boost и скачал с их офф сайта. Только не могу разобраться в ней. Прост у меня компилятор dev-cpp при компиляции ругается на этот код программки выше. О векторах я тоже думал но большая вероятность запутаться в этом..
     
  7. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Странно, не должен ругаться.....
    Хотя вопрос не входит в эту тему: В выкинь плиз логи компилятора об ошибках, очень хочется глянуть на что именно ругается....

    А насчет проекта..... Я класс напишу тебе с векторами или дин. массивами... Или сегодня или завтра, пока просто точно не знаю что по времени будет.... А так вообще идея задачи мне очень понравилась, тут редко что-то такое глобальное встретишь...
     
  8. Arty

    Arty Гость

    Компилятор: Default compiler
    Выполнение g++.exe...
    g++.exe "C:\Dev-Cpp\bin\sa.cpp" -o "C:\Dev-Cpp\bin\sa.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Dev-Cpp\bin\sa.cpp:6: error: `main' must return `int'

    C:\Dev-Cpp\bin\sa.cpp: In function `int main(...)':
    C:\Dev-Cpp\bin\sa.cpp:24: error: `pow' undeclared (first use this function)

    C:\Dev-Cpp\bin\sa.cpp:24: error: (Each undeclared identifier is reported only once for each function it appears in.)

    Выполнение завершено

    Вот это пишет B) ммм хорошо. Идея то хорошая, но как то крутовато.. )
     
  9. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Хочет что бы main-функция была прописанна как
    Код (C++):
    int main(void)
    И возвращала результат например:
    Код (C++):
    return 0;
    Функция не определена, хочет что бы подгрузили библиотеку math.h
    Код (C++):
    #include <math.h>
    Думаю опять же что то связанное с тем что ф-ию pow понять не может....
     
  10. Arty

    Arty Гость

    да я тоже сразу подумал о этой библиотеке и о инте перед майном но тогда он мне выдавал вот это
    Компилятор: Default compiler
    Выполнение g++.exe...
    g++.exe "C:\Dev-Cpp\bin\sa.cpp" -o "C:\Dev-Cpp\bin\sa.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    /mingw/lib/crt2.o(.text+0x167):crt1.c: undefined reference to `__cpu_features_init'
    collect2: ld returned 1 exit status

    Выполнение завершено
    и я всё вернул назад не знаю что это за undefined reference to `__cpu_features_init'

    Добавлено:
    может у меня компилятор плохой? B)
     
  11. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    #include <iostream>
    попробуй это изменить на
    #include <iostream.h>

    Мне тоже не понятно.. хоть устанавливай эту среду....
     
  12. Arty

    Arty Гость

    я поставил .h и стало вот так
    Компилятор: Default compiler
    Выполнение g++.exe...
    g++.exe "C:\Dev-Cpp\bin\pro.cpp" -o "C:\Dev-Cpp\bin\pro.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
    from C:\Dev-Cpp\bin\pro.cpp:1:
    C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

    /mingw/lib/crt2.o(.text+0x167):crt1.c: undefined reference to `__cpu_features_init'
    collect2: ld returned 1 exit status

    Выполнение завершено
    хммм а чем ещё можно попробовать прокомпилировать?
     
  13. Arty

    Arty Гость

    Всё после тыканья везде и поиска в гугле я решил проблему и он всё откомпелировал.
    У меня mingw стоял, я его удалил - и всё работает! :gigi:
     
Загрузка...
Похожие Темы - Задача Логические функции
  1. Янчик
    Ответов:
    0
    Просмотров:
    481
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    781
  3. elzim
    Ответов:
    0
    Просмотров:
    929
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.117
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.105
Статус темы:
Закрыта.

Поделиться этой страницей