• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

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

  • Автор темы Arty
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Arty

Пока не понимаю самого задания....
Переведите пожалуйста вот эту запись???

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

DarkKnight

Вообще первое что пришло на ум, когда задание увидел - это реализация через битовые множества 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
    20,8 КБ · Просмотры: 583
  • sb2.jpg
    sb2.jpg
    18,7 КБ · Просмотры: 587
A

Arty

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

DarkKnight

Прост у меня компилятор dev-cpp при компиляции ругается на этот код программки выше. О векторах я тоже думал но большая вероятность запутаться в этом..
Странно, не должен ругаться.....
Хотя вопрос не входит в эту тему: В выкинь плиз логи компилятора об ошибках, очень хочется глянуть на что именно ругается....

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

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) ммм хорошо. Идея то хорошая, но как то крутовато.. )
 
D

DarkKnight

:\Dev-Cpp\bin\sa.cpp:6: error: `main' must return `int'
Хочет что бы main-функция была прописанна как
C++:
int main(void)
И возвращала результат например:
C++:
return 0;
C:\Dev-Cpp\bin\sa.cpp:24: error: `pow' undeclared (first use this function)
Функция не определена, хочет что бы подгрузили библиотеку math.h
C++:
#include <math.h>
C:\Dev-Cpp\bin\sa.cpp:24: error: (Each undeclared identifier is reported only once for each function it appears in.)
Думаю опять же что то связанное с тем что ф-ию pow понять не может....
 
A

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'

Добавлено:
да я тоже сразу подумал о этой библиотеке и о инте перед майном но тогда он мне выдавал вот это
Компилятор: 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)
 
D

DarkKnight

#include <iostream>
попробуй это изменить на
#include <iostream.h>

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

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

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

Arty

Всё после тыканья везде и поиска в гугле я решил проблему и он всё откомпелировал.
У меня mingw стоял, я его удалил - и всё работает! :gigi:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!