![]() |
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 |
Koji programski jezik?:chears:
|
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. |
jezik je "C"
|
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. |
Citiraj:
|
Citiraj:
for(i=1;i<=broj_znamenki;i++) |
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 :)
|
Citiraj:
|
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? |
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 { 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; } |
Kolega, jel to kod Grgeca?
|
@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? |
Nama grgec predaje programiranje.... TEŠKA KOMA :D...
Nisam probavao, uglavnom do 1000 sam išao, dalje mi se nije dalo... |
Citiraj:
tih 1000 je sa 5-5-5 jeli tako? |
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.
|
Sva vremena su GMT +2. Sada je 23:46. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger