Автор вопроса
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
- Статус
- Закрыто для дальнейших ответов.
Автор вопроса
Пока не понимаю самого задания....
Переведите пожалуйста вот эту запись???(2 ** n)
Пока не понимаю самого задания....
Переведите пожалуйста вот эту запись???
Оххх спасиб что ответил B) хоть кто то. Ммм как я понял это если n=4, то 2**n- 2 в степени n. Общее число строк - 16. Видимо из дискретной математики.
Вообще первое что пришло на ум, когда задание увидел - это реализация через битовые множества STL (std::bitset)...
Это быстро, без лишних мозговых затрат, в то же время граммотно и красиво...
Но все же в твоей задачи когда уже будешь сам класс делать, нужна динамика, а вот STL-bitset ее не поддерживает (кстати именно по этому ее и хают).... Но в этом случае нам на помощь может прийти библиотека BOOST там реазизован boost::dynamic_bitset<> - хорошая штука кстати, и как раз решит все проблемы...
По поводу левых библиотек можешь не париться - BOOST уже общепризнаная практически включенная в стандарт языка...
Так же реализация не плохая будет с векторами....
Это быстро, без лишних мозговых затрат, в то же время граммотно и красиво...
Но все же в твоей задачи когда уже будешь сам класс делать, нужна динамика, а вот 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;
}
}
Вложения
Странно, не должен ругаться.....Прост у меня компилятор dev-cpp при компиляции ругается на этот код программки выше. О векторах я тоже думал но большая вероятность запутаться в этом..
Хотя вопрос не входит в эту тему: В выкинь плиз логи компилятора об ошибках, очень хочется глянуть на что именно ругается....
А насчет проекта..... Я класс напишу тебе с векторами или дин. массивами... Или сегодня или завтра, пока просто точно не знаю что по времени будет.... А так вообще идея задачи мне очень понравилась, тут редко что-то такое глобальное встретишь...
Компилятор: 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) ммм хорошо. Идея то хорошая, но как то крутовато.. )
Выполнение 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) ммм хорошо. Идея то хорошая, но как то крутовато.. )
Хочет что бы main-функция была прописанна как:\Dev-Cpp\bin\sa.cpp:6: error: `main' must return `int'
C++:
int main(void)
C++:
return 0;
Функция не определена, хочет что бы подгрузили библиотеку math.hC:\Dev-Cpp\bin\sa.cpp:24: error: `pow' undeclared (first use this function)
C++:
#include <math.h>
Думаю опять же что то связанное с тем что ф-ию pow понять не может....C:\Dev-Cpp\bin\sa.cpp:24: error: (Each undeclared identifier is reported only once for each function it appears in.)
да я тоже сразу подумал о этой библиотеке и о инте перед майном но тогда он мне выдавал вот это
Компилятор: 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)
Компилятор: 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)
я поставил .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
Выполнение завершено
хммм а чем ещё можно попробовать прокомпилировать?
Компилятор: 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
Выполнение завершено
хммм а чем ещё можно попробовать прокомпилировать?
- Статус
- Закрыто для дальнейших ответов.
Ещё по теме
4
Поделиться: