Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Zadaci za praktični kolokvij
WWW:
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8, 9  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Shirohige
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2012. (20:19:56)
Postovi: (ED)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 18:05 sri, 5. 12. 2012    Naslov: Citirajte i odgovorite

[quote="vsego"]@Shirohige: Ovako napamet, djeluje mi ok. Mozda bi ti u slucaju negativnog reda bilo bolje mnoziti [tt]x[/tt] (umjesto dijeljenja [tt]t[/tt]) sa [tt]b[/tt]?[/quote]

Množenje sa x daje bolje rezultate, hvala!

Promijenio sam kod u:
[code:1]if(x>1.0 && x<t) k=0;
else
{
if (1-x>0.0) { p=x; while(p<1) { k--; p = p*b;} }
else while(x>=t) { k++; t *= b;}
}
[/code:1]

Pomoćna varijabla p zato da mogu x na kraju ispisati. Nego, je li to ovako s jedinicom dobro definirano?

Mislim na: [code:1]while(p<1)[/code:1]

Bilo koji b na nultu je 1 pa je max. desna granica za brojeve između -1 i 1 odnosno između 0 i 1 upravo jedinica, jer kad bi uspoređivao s bazom, onda bi mi rezultat ispao za jedan previše...
vsego (napisa):
@Shirohige: Ovako napamet, djeluje mi ok. Mozda bi ti u slucaju negativnog reda bilo bolje mnoziti x (umjesto dijeljenja t) sa b?


Množenje sa x daje bolje rezultate, hvala!

Promijenio sam kod u:
Kod:
if(x>1.0 && x<t) k=0;
        else
        {
            if (1-x>0.0) { p=x; while(p<1) { k--; p = p*b;} }
            else while(x>=t) { k++; t *= b;}
        }


Pomoćna varijabla p zato da mogu x na kraju ispisati. Nego, je li to ovako s jedinicom dobro definirano?

Mislim na:
Kod:
while(p<1)


Bilo koji b na nultu je 1 pa je max. desna granica za brojeve između -1 i 1 odnosno između 0 i 1 upravo jedinica, jer kad bi uspoređivao s bazom, onda bi mi rezultat ispao za jedan previše...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 18:49 sri, 5. 12. 2012    Naslov: Citirajte i odgovorite

[quote="Shirohige"]Nego, je li to ovako s jedinicom dobro definirano?
Mislim na: [code:1]while(p<1)[/code:1][/quote]

Ne vidim zasto ne bi bilo.
Shirohige (napisa):
Nego, je li to ovako s jedinicom dobro definirano?
Mislim na:
Kod:
while(p<1)


Ne vidim zasto ne bi bilo.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
hendrix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 09. 2012. (15:59:06)
Postovi: (92)16
Sarma = la pohva - posuda
29 = 31 - 2

PostPostano: 20:33 sri, 5. 12. 2012    Naslov: Citirajte i odgovorite

Koliko ce "veliki" test-primjer biti za [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z12[/url] i [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z14[/url]?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. :D
Koliko ce "veliki" test-primjer biti za Z12 i Z14?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Shirohige
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2012. (20:19:56)
Postovi: (ED)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 20:45 sri, 5. 12. 2012    Naslov: Citirajte i odgovorite

[quote="hendrix"]Koliko ce "veliki" test-primjer biti za [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z12[/url] i [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z14[/url]?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. :D[/quote]

Si iskoristio svojstva navedena u skripti? (tj. da je dovoljno da ti brojač ide samo do korijena od broja odnosno i*i <= m )

Imaš i na prvoj stranici vsegov post za 12.
hendrix (napisa):
Koliko ce "veliki" test-primjer biti za Z12 i Z14?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. Very Happy


Si iskoristio svojstva navedena u skripti? (tj. da je dovoljno da ti brojač ide samo do korijena od broja odnosno i*i ⇐ m )

Imaš i na prvoj stranici vsegov post za 12.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
beuler
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 11. 2012. (14:08:41)
Postovi: (16)16
Sarma = la pohva - posuda
= 5 - 1

PostPostano: 22:14 sri, 5. 12. 2012    Naslov: Citirajte i odgovorite

[quote="hendrix"]Koliko ce "veliki" test-primjer biti za [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z12[/url] i [url=http://degiorgi.math.hr/prog1/materijali/p1-zadaci_za_prakticni_kolokvij_novi.pdf]Z14[/url]?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. :D[/quote]

Nadam se da nece biti takvih izivljavanja nad programima, mislim da
to nije poanta ovog kolokvija..ili sam krivo shvatio poantu :D
hendrix (napisa):
Koliko ce "veliki" test-primjer biti za Z12 i Z14?

Pitam jer mi se ta gospoda prilicno sporo izvrsavaju za "velike" brojeve s trenutnim kodom. Very Happy


Nadam se da nece biti takvih izivljavanja nad programima, mislim da
to nije poanta ovog kolokvija..ili sam krivo shvatio poantu Very Happy



_________________
Sumnjam, dakle možda jesam.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
4017
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 03. 2012. (20:55:09)
Postovi: (17)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 11:16 čet, 6. 12. 2012    Naslov: Citirajte i odgovorite

U 65. zadatku, napravila sam kod koji preko funkcije provjerava jel broj prost, ali u mainu me muči kako pronaći broj manji ili jednak n koji se može napisat kao produkt dva uzastopna prosta broja. U glavi mi je samo algoritam koji nalazi broj koji se može prikazati kao produkt dva različita prosta broja.
U 65. zadatku, napravila sam kod koji preko funkcije provjerava jel broj prost, ali u mainu me muči kako pronaći broj manji ili jednak n koji se može napisat kao produkt dva uzastopna prosta broja. U glavi mi je samo algoritam koji nalazi broj koji se može prikazati kao produkt dva različita prosta broja.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 12:08 čet, 6. 12. 2012    Naslov: Citirajte i odgovorite

Vjerojatno najjednostavnije (nikako ne i optimalno):

[code:1]prvi = 2;
drugi = 3;
treci = 5;
while (drugi + treci <= n) {
prvi = drugi;
drugi = treci;
while (!prost(treci += 2));
}
/* sada je drugi+treci > n, pa najvise sto mozemo dobiti s dva uzastopna iznosi prvi+drugi */
if (prvi+drugi <= n) ispisi rezultat; else ispisi da takvog nema;[/code:1]

Kome se optimizira, vjerojatno je bolje krenuti od [tt]prvi = drugi = n/2[/tt], zatim smanjivati [tt]prvi[/tt] i povecavati [tt]drugi[/tt] dok ne postanu oba prosti, da se dobije pocetno stanje, a onda raditi korekcije (jer ovo moze ispasti premalo ili preveliko, moze biti da je [tt]n/2[/tt] prosto,...). Trenutno nemam ideja za neke dublje optimizacije, no to ionako spada u "za one koji zele znati vise".
Vjerojatno najjednostavnije (nikako ne i optimalno):

Kod:
prvi = 2;
drugi = 3;
treci = 5;
while (drugi + treci <= n) {
  prvi = drugi;
  drugi = treci;
  while (!prost(treci += 2));
}
/* sada je drugi+treci > n, pa najvise sto mozemo dobiti s dva uzastopna iznosi prvi+drugi */
if (prvi+drugi <= n) ispisi rezultat; else ispisi da takvog nema;


Kome se optimizira, vjerojatno je bolje krenuti od prvi = drugi = n/2, zatim smanjivati prvi i povecavati drugi dok ne postanu oba prosti, da se dobije pocetno stanje, a onda raditi korekcije (jer ovo moze ispasti premalo ili preveliko, moze biti da je n/2 prosto,...). Trenutno nemam ideja za neke dublje optimizacije, no to ionako spada u "za one koji zele znati vise".



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
nuclear
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 11. 2011. (17:40:12)
Postovi: (74)16
Spol: žensko
Sarma = la pohva - posuda
10 = 20 - 10

PostPostano: 14:55 čet, 6. 12. 2012    Naslov: Citirajte i odgovorite

Opet ja :) I opet mi je negdje greška i zbilja ju ne mogu pronaći...
zad. 64: Napišite program koji učitava prirodni broj n. Program treba ispisati najmanji prirodni broj m, veći ili jednak n, koji je prirodna potencija nekog prostog broja, tj. ima oblik m = p^k , gdje je p prost broj, a k neki prirodan broj.
Primjer: za n = 122, program treba ispisati 125, jer je 125 = 53 , a za n = 75, rezultat je 79, jer je 79 prost broj.


[code:1]
int main(){

int n, i, l, j;
scanf("%d", &n);

for(i=n; ; i++){
j=i;

for(l=2; l<j; l++){

if(prost(l) && j%l==0){

while(j%l==0){
j=j/l;}

if(j==1) goto p; }
}
}

p: printf("Broj je %d.\n", i);

return 0;}[/code:1]
Opet ja Smile I opet mi je negdje greška i zbilja ju ne mogu pronaći...
zad. 64: Napišite program koji učitava prirodni broj n. Program treba ispisati najmanji prirodni broj m, veći ili jednak n, koji je prirodna potencija nekog prostog broja, tj. ima oblik m = p^k , gdje je p prost broj, a k neki prirodan broj.
Primjer: za n = 122, program treba ispisati 125, jer je 125 = 53 , a za n = 75, rezultat je 79, jer je 79 prost broj.


Kod:

int main(){

int n, i, l, j;
scanf("%d", &n);

for(i=n; ; i++){
    j=i;

    for(l=2; l<j; l++){

        if(prost(l) && j%l==0){

            while(j%l==0){
                j=j/l;}

            if(j==1)  goto p;     }
            }
            }

p: printf("Broj je %d.\n", i);

return 0;}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 15:28 čet, 6. 12. 2012    Naslov: Citirajte i odgovorite

Sto se s tvojim programom desi ako broj [tt]j[/tt] ima vise prostih faktora, npr. [tex]\verb~j~ = 144 = 2^4 3^2[/tex]? Izvedi petlju do kraja, a ne samo do onog [tt]if[/tt]-a, i bit ce ti jasno.
Sto se s tvojim programom desi ako broj j ima vise prostih faktora, npr. [tex]\verb~j~ = 144 = 2^4 3^2[/tex]? Izvedi petlju do kraja, a ne samo do onog if-a, i bit ce ti jasno.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
nicki minaj
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 01. 2012. (02:34:45)
Postovi: (11)16
Sarma = la pohva - posuda
= 3 - 0

PostPostano: 16:29 pet, 7. 12. 2012    Naslov: Citirajte i odgovorite

imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?
imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 17:15 pet, 7. 12. 2012    Naslov: Citirajte i odgovorite

[quote="nicki minaj"]imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?[/quote]
Naravno da je u redu. BTW, ako ne lupaš enter nakon svakog unosa, nego ukucaš sve što želiš unijeti (pojedine unose odvoji razmakom), pa tek onda stisneš enter, dobit ćeš ispis koji izgleda kao da je prvo izvršen unos, pa tek onda ispis.
nicki minaj (napisa):
imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?

Naravno da je u redu. BTW, ako ne lupaš enter nakon svakog unosa, nego ukucaš sve što želiš unijeti (pojedine unose odvoji razmakom), pa tek onda stisneš enter, dobit ćeš ispis koji izgleda kao da je prvo izvršen unos, pa tek onda ispis.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
nicki minaj
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 01. 2012. (02:34:45)
Postovi: (11)16
Sarma = la pohva - posuda
= 3 - 0

PostPostano: 17:33 pet, 7. 12. 2012    Naslov: Citirajte i odgovorite

[quote="mdoko"][quote="nicki minaj"]imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?[/quote]
Naravno da je u redu. BTW, ako ne lupaš enter nakon svakog unosa, nego ukucaš sve što želiš unijeti (pojedine unose odvoji razmakom), pa tek onda stisneš enter, dobit ćeš ispis koji izgleda kao da je prvo izvršen unos, pa tek onda ispis.[/quote]


hvala puno :)
mdoko (napisa):
nicki minaj (napisa):
imam pitanje za zadatak 71, koje se odnosi i na slicne takve. treba napisati program koji ucitava niz brojeva te ispisuje clanove niza koji ispune neki uvjet. je li u redu ako se trazeni brojevi ispisuju dok se jos ucitava niz?

Naravno da je u redu. BTW, ako ne lupaš enter nakon svakog unosa, nego ukucaš sve što želiš unijeti (pojedine unose odvoji razmakom), pa tek onda stisneš enter, dobit ćeš ispis koji izgleda kao da je prvo izvršen unos, pa tek onda ispis.



hvala puno Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
math_student
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 11. 2012. (16:38:58)
Postovi: (18)16
Spol: žensko
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 11:58 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

88. zadatak(Napisite program koji ucitava niz cijelih brojeva, sve dok se ne unese broj nula. Taj zadnji broj je oznaka za kraj niza, ali
nije clan niza. Program treba ispisati koliko ima brojeva u tom nizu, koji su neka prirodna potencija broja 2, ili broja 3. Na
kraju, treba ispisati i najveci takav clan niza. Ako takvih clanova nema u nizu, treba ispisati odgovarajucu poruku.)

moj kod je http://pastebin.com/HdnGmjXy

pitanje: Dal je kod dobar? Je li bolje (i brze) raditi potencije "pjesice" ili?
hvala
88. zadatak(Napisite program koji ucitava niz cijelih brojeva, sve dok se ne unese broj nula. Taj zadnji broj je oznaka za kraj niza, ali
nije clan niza. Program treba ispisati koliko ima brojeva u tom nizu, koji su neka prirodna potencija broja 2, ili broja 3. Na
kraju, treba ispisati i najveci takav clan niza. Ako takvih clanova nema u nizu, treba ispisati odgovarajucu poruku.)

moj kod je http://pastebin.com/HdnGmjXy

pitanje: Dal je kod dobar? Je li bolje (i brze) raditi potencije "pjesice" ili?
hvala


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 12:04 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

Koristenje realne aritmetike u problemima s cjelobrojnim argumentima je uvijek losa ideja (osim ako je stvarno neizbjezno, ali trenutno mi niti jedan primjer ne pada na pamet).

Pogledaj algoritam za rastav na proste faktore uzastopnim dijeljenjem broja. Treba samo malo modificirati (slicno zadatku 64) i dobije se efikasni, cisto cjelobrojni algoritam za ovo.

P.S. Ne kazem da ti kolege ovo nece prihvatiti, ali pitao si je l' moze bolje.
Koristenje realne aritmetike u problemima s cjelobrojnim argumentima je uvijek losa ideja (osim ako je stvarno neizbjezno, ali trenutno mi niti jedan primjer ne pada na pamet).

Pogledaj algoritam za rastav na proste faktore uzastopnim dijeljenjem broja. Treba samo malo modificirati (slicno zadatku 64) i dobije se efikasni, cisto cjelobrojni algoritam za ovo.

P.S. Ne kazem da ti kolege ovo nece prihvatiti, ali pitao si je l' moze bolje.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
celeste
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 10. 2009. (11:56:09)
Postovi: (23)16
Sarma = la pohva - posuda
-2 = 1 - 3

PostPostano: 18:28 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

@hendrix
Oke, ti si ochito sve rijeshio i super ti
ide :) pa jel bi mi mogao poslati zadatke,
jer mi neke stvari ful ne sjedaju. Ako nije problem. Hvala puno.
@hendrix
Oke, ti si ochito sve rijeshio i super ti
ide Smile pa jel bi mi mogao poslati zadatke,
jer mi neke stvari ful ne sjedaju. Ako nije problem. Hvala puno.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
hendrix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 09. 2012. (15:59:06)
Postovi: (92)16
Sarma = la pohva - posuda
29 = 31 - 2

PostPostano: 18:49 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

Provjeri grupu na fejsu ako si uclanjen/a, tamo ces naci hrpetinu zadataka na jednom mjestu. Ovako je glupo uploadati random na dosta bitnoj temi, pa "tko se snađe, snađe".

[url=http://speedy.sh/dvhA9/Zadaci-za-PK.rar]Ovdje[/url] mozes naci kodove za sve zadatke (mislim da ovdje ima i tudjih, nemam pojma iskreno sto se na kraju naslo u ovom folderu, znam samo da su numerirani prema zadacima s liste), ali ih bar 10 ovdje ne radi kako treba jer su neki dovrsavani na razlicitim racunalima, neki nisu optimizirani, neki su jednostavno losi, a neki su kroz silna kompajliranja i mijenjanja raznih varijanti totalno izgubili smisao, ali to ces vec vidjeti ako ce ti stvarno trebati, uglavnom, mozda pomogne.
Provjeri grupu na fejsu ako si uclanjen/a, tamo ces naci hrpetinu zadataka na jednom mjestu. Ovako je glupo uploadati random na dosta bitnoj temi, pa "tko se snađe, snađe".

Ovdje mozes naci kodove za sve zadatke (mislim da ovdje ima i tudjih, nemam pojma iskreno sto se na kraju naslo u ovom folderu, znam samo da su numerirani prema zadacima s liste), ali ih bar 10 ovdje ne radi kako treba jer su neki dovrsavani na razlicitim racunalima, neki nisu optimizirani, neki su jednostavno losi, a neki su kroz silna kompajliranja i mijenjanja raznih varijanti totalno izgubili smisao, ali to ces vec vidjeti ako ce ti stvarno trebati, uglavnom, mozda pomogne.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
nuclear
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 11. 2011. (17:40:12)
Postovi: (74)16
Spol: žensko
Sarma = la pohva - posuda
10 = 20 - 10

PostPostano: 19:16 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

Zadatak 81: Napišite program koji učitava niz cijelih brojeva, sve dok se ne unese broj nula. Taj zadnji broj je oznaka za kraj niza, ali
nije član niza. Program treba ispisati broj brojeva iz tog niza kojima je vodeća znamenka u dekadskom zapisu jednaka 9
(vodeća znamenka = znamenka uz najvišu potenciju baze 10). Ako je niz prazan, treba ispisati odgovarajuću poruku.
Primjer: za niz brojeva 191, 92, 19, 9, brojevi 92 i 9 imaju vodeću znamenku 9, pa program treba ispisati 2.

Varijabla brojac mi nije dobra i ne mogu pronaći grešku. Ako nije teško nekom pogledati :)

[code:1]
#include<stdio.h>
int main(){

int x[100], i=0, brojac=0, pot, max=0, broj;

while(1){
scanf("%d", &x[i]);
if(x[i]==0) break;
pot=10;
broj=x[i];

while(broj>0){

if(broj/pot==0){
broj=broj/(pot/10);

if((broj%10)==9) {
++brojac;
broj/=pot;}

else {
brojac=0;
broj/=pot; } }

else pot*=10;
}

if(brojac>max) max=brojac;

++i;}

printf("Najdulji niz je duljine: %d\n", max);

return 0;}[/code:1]
Zadatak 81: Napišite program koji učitava niz cijelih brojeva, sve dok se ne unese broj nula. Taj zadnji broj je oznaka za kraj niza, ali
nije član niza. Program treba ispisati broj brojeva iz tog niza kojima je vodeća znamenka u dekadskom zapisu jednaka 9
(vodeća znamenka = znamenka uz najvišu potenciju baze 10). Ako je niz prazan, treba ispisati odgovarajuću poruku.
Primjer: za niz brojeva 191, 92, 19, 9, brojevi 92 i 9 imaju vodeću znamenku 9, pa program treba ispisati 2.

Varijabla brojac mi nije dobra i ne mogu pronaći grešku. Ako nije teško nekom pogledati Smile

Kod:

#include<stdio.h>
int main(){

int x[100], i=0, brojac=0, pot, max=0, broj;

while(1){
    scanf("%d", &x[i]);
    if(x[i]==0) break;
    pot=10;
    broj=x[i];

    while(broj>0){

        if(broj/pot==0){
            broj=broj/(pot/10);

            if((broj%10)==9) {
                ++brojac;
                broj/=pot;}

            else {
                brojac=0;
                broj/=pot; } }

        else pot*=10;
        }

    if(brojac>max) max=brojac;

    ++i;}

printf("Najdulji niz je duljine: %d\n", max);

return 0;}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
hendrix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 09. 2012. (15:59:06)
Postovi: (92)16
Sarma = la pohva - posuda
29 = 31 - 2

PostPostano: 19:24 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

Hm, ti ispisujes najvecu duljinu niza uzastopnih brojeva s danim svojstvom, a trazi se ukupan broj istih?

Ako varijablom [tt]brojac[/tt] zelis ispisati ukupan broj takvih clanova, onda samo nemoj resetirati istu na vrijednost [tt]0[/tt] ako za [i]neki[/i] upisani broj svojstvo zadatka nije zadovoljeno i trebalo bi biti ok.
Hm, ti ispisujes najvecu duljinu niza uzastopnih brojeva s danim svojstvom, a trazi se ukupan broj istih?

Ako varijablom brojac zelis ispisati ukupan broj takvih clanova, onda samo nemoj resetirati istu na vrijednost 0 ako za neki upisani broj svojstvo zadatka nije zadovoljeno i trebalo bi biti ok.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 19:28 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

1. Nizovi ti uvode limit na broj ucitanih brojeva, a ovdje su cisti vishak, jer se samo broji koliko ima nekakvih elemenata (sto lako brojis tijekom ucitavanja).

2. Kako dobiti prvu nekog broja znamenku u bazi [tt]b[/tt]? Dijeljenjem s [tt]b[/tt] dok ne dobijes jednoznamenkasti broj:
[code:1]t = n;
while (t >= b) t /= b;
printf("Prva znamenka broja %d u bazi %d je %d.\n", n, b, t);[/code:1]
Ne treba nikakvo potenciranje i sl.

3. Zasto u onom [tt]else[/tt] resetiras [tt]brojac[/tt] natrag na nulu?

4. Glede ispisa, sto je "najdulji niz"? Toga nema u zadatku.

@Svi koji se misle igrati s gotovim (i, jos gore, neautoriziranim) rjesenjima zadataka poput ovih gore, ne krivite ekipu s kolegija ako popadate. Dovoljno puta je receno da se programiranje ne uci citanjem gotovih kodova (cak i ako su dobri), nego samostalnim pokusajima na racunalu.
1. Nizovi ti uvode limit na broj ucitanih brojeva, a ovdje su cisti vishak, jer se samo broji koliko ima nekakvih elemenata (sto lako brojis tijekom ucitavanja).

2. Kako dobiti prvu nekog broja znamenku u bazi b? Dijeljenjem s b dok ne dobijes jednoznamenkasti broj:
Kod:
t = n;
while (t >= b) t /= b;
printf("Prva znamenka broja %d u bazi %d je %d.\n", n, b, t);

Ne treba nikakvo potenciranje i sl.

3. Zasto u onom else resetiras brojac natrag na nulu?

4. Glede ispisa, sto je "najdulji niz"? Toga nema u zadatku.

@Svi koji se misle igrati s gotovim (i, jos gore, neautoriziranim) rjesenjima zadataka poput ovih gore, ne krivite ekipu s kolegija ako popadate. Dovoljno puta je receno da se programiranje ne uci citanjem gotovih kodova (cak i ako su dobri), nego samostalnim pokusajima na racunalu.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
celeste
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 10. 2009. (11:56:09)
Postovi: (23)16
Sarma = la pohva - posuda
-2 = 1 - 3

PostPostano: 19:31 sub, 8. 12. 2012    Naslov: Citirajte i odgovorite

@hendrix
Nene, mislila sam na mail ako mozhe.
Mail mi je doramed42@gmail. com.
Hvala stvarno,u svakom petom zadatku mi
zapinje nekaj, pa da si to pogledam.
@hendrix
Nene, mislila sam na mail ako mozhe.
Mail mi je doramed42@gmail. com.
Hvala stvarno,u svakom petom zadatku mi
zapinje nekaj, pa da si to pogledam.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8, 9  Sljedeće
Stranica 7 / 9.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan