|
![]() |
#1 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
kako ovo isprogramirati?
Imam 2 zadatka koja moram rijesiti. 1. Trebam napraviti funkciju koja ce izracunati zbroj i umnozak broja unesenog u glavnom programu (znaci npr ako se radi o 84 onda 8+4 i 8*4) E sad problem mi je to sto mi ne pada na pamet kako da dodem do znamenki tog broja. jedino sto mi je palo na pamet je da podijelim broj sa %10 i onda dobim zadnju znamenku no onda sam skuzio da uneseni broj moze biti bilo koji prirodni broj a ne nuzno dvoznamenkasti. 2. ovaj zadatak uopce ne kuzim (vjerojatno zato sto se ne sijecam tog dijela matematike...) ugl glasi ovako: "Napisati funkciju koja ce kut u sekundama pretvoriti u stupnjeve, minute i sekunde. U glavnom programu učitati kut u sekundama, pozvati funkciju i ispisati dobivenu vrijednost za stupnjeve, minute i sekunde." pa bi molio ako netko zna i da mu se malo razmisliti da mi pomogne hvala |
![]() |
![]() |
![]() |
#2 |
Dr. Gonzo
Datum registracije: Dec 2005
Lokacija: Zagreb
Postovi: 958
|
Koji programski jezik? ![]() |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#3 |
Registered User
Datum registracije: Oct 2003
Lokacija: Zagreb, Trešnjevka
Postovi: 5,767
|
ako je pascal napisem ti to sutra. inace, znamenke dobivas broj mod 10, pa broj dijelis sa 10, pa opet mod pa dijelis i tako dok ne dodjes do nule. |
![]() |
![]() |
![]() |
#4 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
jezik je "C" |
![]() |
![]() |
![]() |
#5 |
Scuderia Ferrari Marlboro
Datum registracije: Jan 2006
Lokacija: Maranello
Postovi: 94
|
Ako je bilo koji broj u pitanju modaš ga s 10 tako dugo dok ne dobiš 0. Dakle, napraviš neko polje, i u to polje redom spremaš znamenke. I u neku varijablu pamtiš koliko je točno bilo. To bi ja rješio s jednom while petljom. A onda, kad imaš sve znamenke u polju, i u nekoj varijabli točan broj znamenaka, u jednoj for petlji to sve pozbrojiš i pomnožiš. I to je to. A što se tiče drugog zadatka. Tu moraš napraviti jednostavnu pretvorbu, najprije to pretvaraš u minute. Modaš sa 60 opet tako dugo dok ne dobiješ broj manji od 60. Brojiš koliko si to puta napravio i imaš ukupan broj minuta, a ono što je ostalo to su ti sekunde u konačnom rezultatu. Nakon toga istu stvar ponoviš s minutama, i dobio si stupnjeve, a opet, ono što je ostalo, onaj broj manji od 60 jesu minute. Nadam se da sam bio dovoljno jasan.
__________________
Scio me nihil scire!
|
![]() |
![]() |
![]() |
#6 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
hm nije mi jasno zasto mi treba varijabla za brojanje koliko je znamenki bilo? |
![]() |
![]() |
![]() |
#7 |
Premium
Datum registracije: Dec 2004
Lokacija: Osijek
Postovi: 2,073
|
zato sto za for petlju treba broj izvodjenja, odnosno korak i krajnja vrijednost jel, a ta varijabla koja pokazuje broj znamenki tada odredjuje koliko puta ce for petlja zbrojiti polja iz vektora, tj. do kojeg polja ce zbrajati. for(i=1;i<=broj_znamenki;i++) |
![]() |
![]() |
![]() |
#8 |
ono ispred konpjuktora
Datum registracije: Apr 2003
Lokacija: zagreb
Postovi: 3,659
|
i don't get it. zašto bi išli dijeliti broj da dobijete znamenke? kaj se ne smije koristiti interrupt za pritisnutu tipku? naime, ako se radi samo o jednom trenutku i jednom unosu brojeva, zašto ne biti prljav? getch i getche bi brijem lijepo odradili posao ![]()
__________________
|
![]() |
![]() |
![]() |
#9 |
Scuderia Ferrari Marlboro
Datum registracije: Jan 2006
Lokacija: Maranello
Postovi: 94
|
Smatram da je moj način najčišći i najlakše ga shvatiti. Ja bi to tako napravil. Kako ovdje nije bitna ni brzina ni ništa mislim da je najbolje pobacati znamenke u polje.
__________________
Scio me nihil scire!
|
![]() |
![]() |
![]() |
#10 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
iskreno nisam bas skuzio kako bi zgledalo to modanje... jel bi bio problem napisati taj dio gdje se radi to modanje i ubacuje u polje? |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#11 |
Premium
Datum registracije: Dec 2004
Lokacija: Osijek
Postovi: 2,073
|
int i=0, b=0, a; ... while(a!=0) { b=a%10; v[i]=b; i++; a=a/10; } otprilike tako, to sam nabrzaka a je uneseni broj, v je vektor sa odredjenim brojem polja (maksimalni broj decimali) i onda sa for petljom zbrajas i mnozis int zbroj=0, umnozak=1; ... for(j=0;j<i;j++) { zbroj+=v[j]; umnozak*=v[j]; } mozes i odma zbrajat i mnozit: int zbroj=0, umnozak=1; ... while(a!=0) { b=a%10; zbroj+=b; umnozak*=b; a=a/10; } |
![]() |
![]() |
![]() |
#13 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
@Spliff: hvala, budem se bavio time kad nadem vremena... moram sad ucit ovu dole navedenu digitalnu briju... @Mihael: nene, Grgec ove godine nije asistent na programiranju vec predavac iz Digitalnih sklopova i uredaja... ugl. koma btw. vidim da imas ovog supertalenta... jesi li probavao dokle ide na 4-4-4 i 5-5-5? |
![]() |
![]() |
![]() |
#15 |
Premium
Datum registracije: Jan 2003
Lokacija: Zagreb
Postovi: 2,937
|
|
![]() |
![]() |
![]() |
#16 |
Premium
Datum registracije: Feb 2007
Lokacija: Home
Postovi: 2,186
|
Da na 5-5-5 jer mi se nije dalo spuštat latencije i još zafrkavat s kompom, nemam toliko vremena jer mi se ne zavlači stalno iza da brišem cmos. |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|