May 19, 2008 at 8:17am UTC
I can't seem to output the binary part it only come out 1 bits..
Thanks in Advance for help..
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <conio.h>
using namespace std;
const int SIZE = 33;
struct Number
{
int no;
int oddDigit;
int evenDigit;
int sumDigit;
int noDigit;
int binary;
};
Number construct (int);
void arrayQ (Number [], int);
void printArrayQ (const Number [], int);
int oddDigit (int);
int evenDigit(int);
int sumDigit (int);
int noDigit (int);
int dectobin(int);
int main(int& binary)
{
Number r [SIZE];
srand (time (NULL));
arrayQ (r, SIZE);
printArrayQ (r, SIZE);
return 0;
}//end main
Number construct (int p)
{
Number r;
r.no = p;
r.oddDigit = oddDigit(p);
r.evenDigit = evenDigit(p);
r.sumDigit = sumDigit(p);
r.noDigit = noDigit(p);
r.binary = dectobin(p);
return r;
}
void arrayQ (Number r [], int n)
{
int p;
for (int i = 0; i < n; i++)
{
p = rand ();
r [i] = construct(p);
}
}
void printArrayQ (const Number r [], int n)
{
cout << "No\tOdd\tEven\tSum\tDigit\tBinary\n\n";
for (int i = 0; i < n; i++)
{
cout << r [i].no << "\t"
<< r [i].oddDigit << "\t"
<< r [i].evenDigit << "\t"
<< r [i].sumDigit << "\t"
<< r [i].noDigit << "\t"
<< setw(8) <<r [i].binary <<endl;
}
}
int oddDigit (int p)
{
int oddCount = 0;
while(p>0)
{
oddCount += p%2;
p = p/10;
}
return oddCount;
}
int evenDigit (int p)
{
int evenCount = 0;
int digit;
while(p>0)
{
digit = p%10;
p = p/10;
if (digit%2 == 0)
{
if(digit != 0)
{
evenCount++;
}
}
}
return evenCount;
}
int sumDigit (int p)
{
int rem, sum=0;
while(p!=0)
{
rem = p%10;
sum = sum+rem;
p = p/10;
}
return sum;
}
int noDigit (int p)
{
int i = 0;
while (p>0)
{
++i;
p = p/10;
}
return i;
}
int dectobin(int p)
{
int binary;
if(p <= 1)
{
return 0;
}
binary = p % 2;
dectobin(p>>1);
return binary;
}
May 22, 2008 at 6:54am UTC
char mapping (int n)
{
if (n == 1)
return '1';
else
return '0';
}
I need to add this function but seem I can't return the binary
I am really stuck for weeks with this practice anybody can help?