Kod: Zaznacz cały
#include <iostream>
#include <math.h> // do poteg
using namespace std;
void binary(int liczba);
int main()
{
int n,biezacy=0,nastepny,grey;
long int licznik=0;
cout << "Podaj n: "; // liczba bitow
cin >> n;
cout << n << "-bitowy Kod Graya: " << "\n\n0";
for(int i=0; i<pow(2.,n); i++) // wlasciwa petla, od 0 do 2^n
{
++licznik;
biezacy=i;
nastepny=biezacy>>1;
grey=biezacy^nastepny; // wyznaczanie i-tego wyrazu kodu Graya
binary(grey); // zamiana na postac binarna i wyswietlenie
cout << " Przeliczonych kombinacji: " << licznik << "\n";
}
return 0;
}
//******************************************
void binary(int liczba) // zamiana liczby dziesietnej na dwojkowa
{
int tablica[100]={0},i=0;
while(liczba)
{
tablica[i++]=liczba%2;
liczba=liczba/2;
}
for(int j=i-1; j>=0; j--)
{
cout << tablica[j];
}
}