[C++] n-bitowy Kod Graya

Leogict
Użytkownik
Użytkownik
Posty: 40
Rejestracja: 21 mar 2008, o 20:01
Płeć: Mężczyzna
Podziękował: 14 razy

[C++] n-bitowy Kod Graya

Post autor: Leogict »

Będę wdzięczny za wszelkie uwagi, spostrzeżenia i komentarze.

Kod: Zaznacz cały

#include <iostream>#include <math.h> // do potegusing 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: " << "

0";    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 << "
";    }    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];    }} 
Ostatnio zmieniony 15 lip 2009, o 14:43 przez Leogict, łącznie zmieniany 1 raz.
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

[C++] n-bitowy Kod Graya

Post autor: matshadow »

porównywałem sobie szybkości Twojego programu z moim, i muszę powiedzieć, że Twój jest strasznie wolny - dla liczby n=20, mój działa koło 1:17, Twój przerwałem po 2:36 i ciągle wypisywał.
Mój kod opiera się na tym sposobie/algorytmie:

Kod: Zaznacz cały

http://www.zgapa.pl/zgapedia/Kod_Graya.html
Leogict
Użytkownik
Użytkownik
Posty: 40
Rejestracja: 21 mar 2008, o 20:01
Płeć: Mężczyzna
Podziękował: 14 razy

[C++] n-bitowy Kod Graya

Post autor: Leogict »

Może i tak, ja mam duży performance overhead, więc może działać wolniej. Ale kto normalny będzie generował 20-bitowy kod graya?
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

[C++] n-bitowy Kod Graya

Post autor: matshadow »

To inna sprawa
ODPOWIEDZ