Kezdőoldal » Számítástechnika » Programozás » Egy 0-ból és 1-ból álló...

Lewike kérdése:

Egy 0-ból és 1-ból álló tömbben, hogy tudnám megszámolni, hogy melyikből mennyi van?

Figyelt kérdés

A bonyolítás az lenne benne, hogy:

0-val kezdődik a tömb, és amikor az első 1-est megkapom, utána meg kellene számoljam, hogy hány darab egyes követi egymást a következő 0-ig.

Ha az egyesek száma egy konkrét intervallum közt van, akkor kellene csinálni vele valamit..

Az 1-ek és 0-k folyama igazából egy digitális jel.


[link]


[link]



2016. ápr. 23. 14:14
 1/6 anonim ***** válasza:
Tömb bejárással.
2016. ápr. 23. 14:17
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
#1. Sokra nem mentem vele ...
2016. ápr. 23. 15:50
 3/6 anonim ***** válasza:
#2 Márpedig tömb bejárása nélkül nem fog menni.
2016. ápr. 23. 15:51
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Nem olvastad el, illetve nem nézted meg figyelmesen a kérdést ..
2016. ápr. 23. 16:14
 5/6 anonim ***** válasza:
#4 De elolvastam figyelmesen, de nem értem mi olyan nehéz. Elágazás, értékadás, változó létrehozása megy?
2016. ápr. 23. 16:34
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Pedig #1-nek igaza van. Bejárod a tömböt. Minden alkalommal mikor találsz egy felfutó élt, elkezdesz növelni egy számlálót addig amíg nem találsz lefutó élt. Ha megvan a lefutó él, a számlálóval eldöntöd hogy mit csinálj, majd kezded újra az egészet. Gyakorlatilag egy minimális állapotgéppel meg lehet egyszerűen oldani.


enum Edge {

. . RISING;

. . FALLING;

};


Edge prev_edge = FALLING;

unsigned bit_cnt = 0;


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

. . bool bit = data[i];


. . if (bit) {

. . . . bit_cnt++;

. . . . prev_edge = RISING;

. . } else if (prev_edge == RISING) {


/* itt megnézed hogy bit_cnt beleesik e az intervallumba és csinálsz valamit, mert lefutó élt találtunk és a bit_cnt tárolja azt hogy hány folytonos 1-es volt az előző felfutó él óta */


. . . . bit_cnt = 0;

. . . . prev_edge = FALLING;

. . }

}


Ha nem ez a kérdésed, akkor rosszul fogalmaztad meg. Fogalmazd át.

2016. ápr. 23. 16:34
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!