![]() |
C - osnovno pitanje
Poceo sam da ucim od nedavno C. Posto sam nov u programiranju imam jedno bas, bas pocetnicko pitanje.
Buni me operator % koji racuna ostatak kada se podele dva broja ali ne mogu u glavi da ga shvatim njegovo funkcionisanje. Ako sam dobro razumeo to bi trebalo sledece da bude ovako: 3%2 = 1, to je isto kao da sam podelio 3 sa 2 i dobio 1.5 ali kako onda 1? Zatim kako 4%2 = je ostatak 0? Radio sam jedan zadatak gde je x%2==0 paran broj. Ali ne shvatam kako je onda 10/2=5 ostatak i to sada paran broj? Jasno da je 10 paran broj ali ne kapiram kako na osnovu x%2==0 (da bude jednako sa 0) on kalkulise sa brojevima? Potrazio sam po netu i nasao ovaj sajt: http://processing.org/reference/modulo.html gledajuci kako je tu objasnjeno ispadne da se tu oduzima int a = 5 % 4; // Sets 'a' to 1 5-4=1 int b = 125 % 100; // Sets 'b' to 25 125-100=25 float c = 285.5 % 140.0; // Sets 'c' to 5.5 kako onda ovde 5.5? float d = 30.0 % 33.0; // Sets 'd' to 30.0 a za ovo ako sam dobro razumeo ako je levi broj manji od desnog uvek je iznos levog broja? I pitanje za kraj. Neki must have forum, sajt, kanal za programiranje tj. za C u ovom trenutku me zanima posto hocu njega da ucim za pocetak. |
Modulo operacija ilitiga ostatak cijelobrojnog djeljenja. I sad bi ti sve trebalo bit jasno :).
3%2 == 1, zato što podjeliš 3 sa 2, to je 1 i ostatak 1. 4%2 == 0, 4 podjeljeno 2 je 2 i ostatak 0. 33%5 == 3, 33 podjeljeno 5 je 6 i ostatak 3 itd itd. Imaš hrpu besplatnih materijala na webu, najbolje uzeti slajdove sa predavanja nekog kolegija na fakultetu, recimo zagrebačkog FER-a http://www.fer.unizg.hr/predmet/ppi. Modulo se najčešće koristi za određivanje parnih ili neparnih brojeva, upravo ovaj modulo 2 (%2). Ako je rezultat modulo 2 nula, znači da je broj do kraja podjeljen sa 2 i nema ostatka i paran je, ako je rezultat modulo 2 operacije 1, znači da je broj neparan jer se nije dao cijelobrojno podjelit sa 2. |
Citiraj:
|
Evo tutixu konkurencije:
http://degiorgi.math.hr/prog1/materijali.php http://degiorgi.math.hr/prog2/materijali.php s posebnim naglaskom na skriptu asistenta Šege (2 dijela) 1. dio 2. dio |
Ja matematiku nisam koristio u zadnjih 10 god. nista kompleksnije od racunanje za kusur cak ni to vise ne moram kada odma na displeju pise kolko ce mi biti vraceno :). A ne mogu ni da se pohvalim da sam bio neki matematicar.
Hvala na linkovima, vidim da ce posluziti bas. Sto se tice modula tj. % mislim da sam shvatio kako funkcionise. Samo mi potrvrdite jer mi je bitno kada kucam kodove da znam i sta ce uraditi i sta da ocekujem kao rezultat. Evo npr onaj primer: 285,5%140 = 2,03 2,03 = 2 2*140 = 280 285,5 - 280 = 5,5 to je ostatak. Jesam ovo dobro uradio 2,03 = 2 sto sam izbacio decimalu? |
Citiraj:
jer je 0.03929*140=5.5 (točan ti je rezultat ali...) A kad odbaciš sve desno od decimalne točke dobiješ rezultat cjelobrojnog djeljenja, odnosno operatora "/". |
Re: C - osnovno pitanje
Ako pricamo o C-u, modulo se koristi za integere, cijele brojeve. U C++ postoji funkcija fmod koja racuna modulo sa decimalnim brojevima u dvostrukoj preciznosti, odnosno double ali ne razumijem u koju svrhu.
Ovaj link ti je od Java jezika, postoje neke razlike ipak. |
Sva vremena su GMT +2. Sada je 02:32. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger