• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

losowanie liczb binarnych + budowa ciągu

Object Storage Arubacloud
0 głosów
1,999 wizyt
pytanie zadane 16 lutego 2016 w C i C++ przez tarnasm Gaduła (3,030 p.)

hej,

Tworzę algorytm genetyczny i napotkałem taki problem.

Założenie jest takie aby system mi losował 5 bitów np. 01001 -> i liczy w pętli for, następnie chciałbym aby po stworzeniu ciągu binarnego, C++  zapętlił mi jeszcze raz tablicę i stworzyl 5 ciągów po 5 bitow i je upakował do nowej Tablicy. Problem w tym że system tworzy mi chyba pojedynczy ciąg a nie 5. Nie mogę wyswietlic tej drugiej tablicy, bo konsole pokazuje mi zawsze jedna cyfre, nie ciag.

NP:

11000

00101

10101

11001

11100
 

class engine{
private:
    
    int bit[5];
    int chromosom[5];
    
public:
    void zliczaj(){
        
        for (int j= 0; j < 1; j++){

            for (int i = 0; i < 5; i++){

                bit[i] = rand() % 2;
                cout << bit[i];

            }
            chromosom[j];
            
        }
        cout << chromosom[1];
            
            
        
    }
    
};

 

2 odpowiedzi

+3 głosów
odpowiedź 16 lutego 2016 przez mariush Dyskutant (7,860 p.)
wybrane 16 lutego 2016 przez tarnasm
 
Najlepsza
chromosom[j];

Co ty wpisujesz do chromosomu?

cout << chromosom[1]; //Wyświetla liczbę na indeksie 1

Program wyświetla ci jedną cyfrę bo ty mu każesz wyświetlić jedną cyfrę.

komentarz 16 lutego 2016 przez tarnasm Gaduła (3,030 p.)

Co ty wpisujesz do chromosomu?

zalożenie było takie żeby go iterować. 

cout << chromosom[1]; //Wyświetla liczbę na indeksie 1

ale to nie powinna byc tablica pelna 5 ciagow po 5 bitow? chcialem wyswietlic ciag. 

komentarz 16 lutego 2016 przez mariush Dyskutant (7,860 p.)

Rzućmy okiem na deklaracje tablicy chromosom

int chromosom[5];

To jest tablica przechowująca 5 liczb całkowitych (int).

W tym przypadku możesz skorzystać z tablicy dwuwymiarowej o wymiarach 5x5, gdzie w każdym rzędzie będziesz przechowywał 5 bitów.

komentarz 16 lutego 2016 przez tarnasm Gaduła (3,030 p.)
nie rozumiem, możesz mi obszerniej wytłumaczyć.

Nie powinienem w takim razie zrobić jednej tablicy bit -> dwuwymiarowej i iterować najpierw na wierszach a potem na kolumnach?
komentarz 16 lutego 2016 przez mariush Dyskutant (7,860 p.)

Właśnie tak powinieneś zrobić.

int bit[5][5];
for(int i=0; i<5; ++i) //iteracja po wierszach
{
    for(int j=0; j<5; ++j) //iteracja po kolumnach
    {
        bit[i][j] = rand() % 2;
        cout << bit[i][j];
    }
    cout << endl;
}

 

komentarz 16 lutego 2016 przez tarnasm Gaduła (3,030 p.)
dziękuję Ci za pomoc, nie zakumałem w ogóle ideii tablic.
0 głosów
odpowiedź 16 lutego 2016 przez Patrycjerz Mędrzec (192,320 p.)

A niby co robi ta linijka?

chromosom[j];

 

Podobne pytania

0 głosów
1 odpowiedź 221 wizyt
pytanie zadane 18 lutego 2017 w C i C++ przez JKluseczka Obywatel (1,430 p.)
0 głosów
2 odpowiedzi 5,660 wizyt
pytanie zadane 9 lutego 2016 w C i C++ przez sadurszczak Nowicjusz (150 p.)
+1 głos
1 odpowiedź 4,068 wizyt
pytanie zadane 30 grudnia 2015 w C i C++ przez String Gaduła (4,520 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...