prosím, jak mám v C napsat, že nějaká proměnná např.proměnná vysledek může nabývat hodnot od 0 do 1760. Zkusil jsem to udělat přes pole int vysledek[1761], ale to mi nijak neomezilo ty hodnoty. Spíš mi přišlo, že to může mít rozměr 1760 čísel (proměnná brala i hodnotu 9999, což je blbost), ale ne 1760 jako maximální hodnotu. Nechce se mi psát podmínka, protože takových proměnných je tam aspoň 20 a u každé jiný interval . Tak ví někdo, jak to napsat bez podmínky?
Fórum › C / C++
Omezení hodnot
bez podminky se nechytas.. ne u takovyhodle "binarne" nekulatyho cisla
mimochodem pole nekontroluje rozsah... kdyz das vetsi cislo tak ti to klidne dovoli (pokud to nezatrhne sam system)
nicmene muzes vyuzit nejake funkce ci si udelat makro
no kdyz mas omezeni na mocniny 2 tak se da omezit odmaskovanim vyssich hodnot...
treba cekam hodnoty od 0 - 1023 tak staci: x &= 1023; vsechny vyssi bity se vynulujou..
je to vlastne: 0x0000 - 0x03FF --- a kdyz budes mit na vstupu pak 0xFFEE tak po odmaskovani dostanes 0x03EE
Pokud nejsi striktně vázán C, ale můžeš použít C++, tak si tato situace přímo říká o napsání speciální třídy... Na začátek to bude hodně práce, která však bude posléze při používání ušetřena.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Nacitani hodnot z txt do pole,vyhledavani a vypis hodnot — založil JiriVavru
Omezení v databázích — založil Jan
FF a omezení délky — založil soudruh
Omezení vnořených IF — založil MilanL
Omezení správce PC — založil Maverick101
Moderátoři diskuze