Omezení hodnot – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Omezení hodnot – C / C++ – Fórum – Programujte.comOmezení hodnot – C / C++ – Fórum – Programujte.com

 

Tom1234
~ Anonymní uživatel
6 příspěvků
3. 12. 2011   #1
-
0
-

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?

Nahlásit jako SPAM
IP: 88.103.116.–
KIIV
~ Moderátor
+43
God of flame
3. 12. 2011   #2
-
0
-

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

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Tom1234
~ Anonymní uživatel
6 příspěvků
3. 12. 2011   #3
-
0
-

#2 KIIV
Nějak nechápu tuhle část věty bez podminky se nechytas.., tak jak to mám teda udělat?

Nahlásit jako SPAM
IP: 88.103.116.–
crazy
~ Moderátor
+10
Grafoman
3. 12. 2011   #4
-
0
-

když tu proměnnou načítáš, tak tam musíš mít nějakou podmínku ve stylu:

int cislo;
cin >> cislo;
if(cislo > 1760 || cislo < 0) 
	cout << "Chyba";
Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
KIIV
~ Moderátor
+43
God of flame
3. 12. 2011   #5
-
0
-

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

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
crazy
~ Moderátor
+10
Grafoman
3. 12. 2011   #6
-
0
-

#4 crazy
jo sorry, v C takhto nějak:

int cislo;

if( scanf("%d", &cislo) != 1 || cislo > 1760 || cislo < 0 )
	fprintf(stderr, "Chyba\n");
Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Tom1234
~ Anonymní uživatel
6 příspěvků
3. 12. 2011   #7
-
0
-

Jo dobrý, to vím jak by se to dělalo podmínkou, ptal jsem se, jestli by to nešlo jinak, když mám těch čísel víc jak 20 a každé má jiné omezení, ale asi teda nejde. Tak děkuju

Nahlásit jako SPAM
IP: 88.103.116.–
crazy
~ Moderátor
+10
Grafoman
3. 12. 2011   #8
-
0
-

no šlo by to udělat v cyklu, pokud bys měl ty hranice uložené v nějakém poli, které by obsahovalo tolik omezení, kolik máš čísel...

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
yaqwsx+9
Posthunter
3. 12. 2011   #9
-
0
-

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.

Nahlásit jako SPAM
IP: 85.160.101.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 39 hostů

Podobná vlákna

Omezení v databázích — založil Jan

Omezení vnořených IF — založil MilanL

Omezení správce PC — založil Maverick101

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý