Question
//I'm trying to create a bitset with this code but I get several errors when I compile. Any help fixing the errors would be great
//I'm trying to create a bitset with this code but I get several errors when I compile. Any help fixing the errors would be great thank you.
#include
using namespace std;
class BITSET{ private: vector public: BITSET(){sets.resize(1, 0); } bool Test(unsigned int bit){ unsigned int index = bit/ (sizeof(int)*8); if (invalid index - (i.e. index >= vector.size())) { return 0; } int offset = bit % (sizeof(int)*8); return ((vector[index] >> offset) & 1); } void Set (unsigned int bit) { unsigned int index = bit/ (sizeof(int)*8); if (invalid bit) { vector.resize(index+1,0); } int offset= bit% (sizeof(int)*8); (vector[index] >> offset) |= 1; } void Clear(unsigned int bit){ unsigned int index = bit/(sizeof(int)*8); if (index >= size of vector ) { cout<< "Invalid index. Enter valid index "; } else { int offset = bit % (sizeof(int)*8); vector[index] &= ~(1 << offset); if (vector[index] == 0 && index, i >= 1, i--) if (vector[i] == 0) { vector.erase (vector.begin() + 1); } else { break; } } } } int GetNumSets(){ return sets.size()/32; } void inc(){ increaseSet(1); } void print(int n){ if(n < 0 || n > GetNumSets()){ return ; } for(int i = n*32;i<(n+1)*32;i++){ if(i%32 == 0){ printf(" SET %d: ",i/32); } if(i%4 == 0){ printf(" "); } printf("%d",sets[i]); } } }; string ToBinary(int val,int space){ BITSET b; int i = 0; while(val > 2){ if(val%2 == 0){ b.Clear(i); }else{ b.Set(i); } i++; val = val/2; } if(val == 1){ b.Set(i); } if(val == 2){ b.Clear(i); i++; b.Set(i); } string s = ""; for(int i = 32;i>0;i--){ if(i != 32 && i % space == 0){ s += ' '; } if(b.Test(i)){ s += '1'; }else{ s += '0'; } } cout< int main(){ BITSET b; char command = ' '; while(command != 'q'){ printf(" CMD >> "); scanf("%c",&command); switch(command){ case 't': { int n; scanf("%d",&n); if(b.Test(n)){ printf(" 1"); }else{ printf(" 0"); } break; } case 's': { int n; scanf("%d",&n); b.Set(n); break; } case 'g': { int n; scanf("%d",&n); b.print(n); break; } case 'n': { int n = b.GetNumSets(); printf(" Number Of Set : %d",n); break; } case 'q': { command = 'q'; break; } case 'c': { int n; scanf("%d",&n); b.Clear(n); break; } default: printf(" INVALID COMMAND !!! "); } char c; scanf("%c" ,&c);
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started