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

praktični kolokvij
WWW:
Idite na Prethodno  1, 2, 3 ... 8, 9, 10 ... 17, 18, 19  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
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 0:45 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

@spik2nick: Hint za tebe: isprobaj ovaj input:

[code:1]5
1 2 4 5 4[/code:1]
@spik2nick: Hint za tebe: isprobaj ovaj input:

Kod:
5
1 2 4 5 4


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


Pridružen/a: 10. 09. 2011. (16:08:19)
Postovi: (F4)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
10 = 17 - 7

PostPostano: 0:45 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Hvala! Da, to ima smisla. :D

Ok, onaj redak koda (koji je postojao prije edita) je trebao biti (a-a2)%a1!=0... Da provjeri hoće li to dijeljenje biti bez ostatka jer ako ima ostatka, alfa ne valja.

Zapravo, malo bolje gledam kod, mislim da fale neke stvari jer prilično sam sigurna da sam prije petlje stavila računati alfu... Mislim da sam dodala krivi privitak ili sam krenula u preinake koda i nisam ih dovršila prije spremanja, a i uvjet za do-while je tipfeler... Jest, vidim neki zalutali točka-zarez, tu je prije bila naredba neka... (mislim da je to znak da odem spavati, očito mi je dio mozga zaspao, možda i odumro...:thinking2: )

Idem doradit ovo...

Edit: evo sad radi. Ok, više ne na forum u kasne sate pilati ljude. :roll:
Hvala! Da, to ima smisla. Very Happy

Ok, onaj redak koda (koji je postojao prije edita) je trebao biti (a-a2)%a1!=0... Da provjeri hoće li to dijeljenje biti bez ostatka jer ako ima ostatka, alfa ne valja.

Zapravo, malo bolje gledam kod, mislim da fale neke stvari jer prilično sam sigurna da sam prije petlje stavila računati alfu... Mislim da sam dodala krivi privitak ili sam krenula u preinake koda i nisam ih dovršila prije spremanja, a i uvjet za do-while je tipfeler... Jest, vidim neki zalutali točka-zarez, tu je prije bila naredba neka... (mislim da je to znak da odem spavati, očito mi je dio mozga zaspao, možda i odumro...Razmisljam )

Idem doradit ovo...

Edit: evo sad radi. Ok, više ne na forum u kasne sate pilati ljude. Rolling Eyes


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


Pridružen/a: 12. 10. 2011. (15:03:41)
Postovi: (10D)16
Spol: muško
Sarma = la pohva - posuda
68 = 72 - 4

PostPostano: 0:57 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Pitanje asistentima/profesorima u vezi 17. zadatka (bar mislim, onaj koji se diskutirao malo prije)

Ovaj kod:

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

//Vecina printf-ova su neke moje zvrljarije koje nazivam "debagiranje"

{
double x,g ;
unsigned int cijelia, ostalo;
scanf("%lg", &x);
printf("x je predstavljen kao: %.20lf\n", x);
cijelia=(int)x;
printf("cijeli dio x-a: %d\n", cijelia);
g=x-cijelia;
printf("g= %.20lf\n", g);
g=g*10000;
printf("g*10000 = %.20lf\n", g);
ostalo=g;
printf("decimalni dio x-a: %d\n", ostalo);
while((ostalo%10)==0) {
ostalo/=10;
}

printf("%d.%d", ostalo,cijelia);
return 0;

}
[/code:1]

Je evidentno "tocan" (ako zanemarimo da za npr [tt]12.0[/tt] upada u beskonacnu petlju) - ovaj zakljucak izvodim iz toga da za gore navedene slicne kodove nitko od asistenata/profesora nije komentirao "gresku" koja se nalazi u njemu.

Ali, za unos [tt]15.2[/tt] program ispisuje ovo:
[code:1]
x je predstavljen kao: 15.19999999999999928946
cijeli dio x-a: 15
g= 0.19999999999999928946
g*10000 = 1999.99999999999295141606
decimalni dio x-a: 1999
1999.15
[/code:1]

Dakle, do problema je doslo kod samog ucitavanja jer svi brojevi iz zadanog skupa nisu predstavljivi u racunalu.

Sad konacno da pitam to pitanje:
Da li se od studenata ne ocekuje da ovo znaju na prakticnom kolokviju, pa ce se ovakav program bodovati kao tocan ili treba napomenuti studentima da to sto u zadatku pise da se ucitava broj tipa double [b] ne znaci da ga oni moraju i ucitati kao double[/b]?

P.S. Hvala kolegici koja je pronasla ovaj primjer.
Pitanje asistentima/profesorima u vezi 17. zadatka (bar mislim, onaj koji se diskutirao malo prije)

Ovaj kod:

Kod:

#include <stdio.h>
int main()
 
//Vecina printf-ova su neke moje zvrljarije koje nazivam "debagiranje"
 
{
    double x,g ;
    unsigned int cijelia, ostalo;
    scanf("%lg", &x);
    printf("x je predstavljen kao: %.20lf\n", x);
    cijelia=(int)x;
    printf("cijeli dio x-a: %d\n", cijelia);
    g=x-cijelia;
    printf("g= %.20lf\n", g);
    g=g*10000;
    printf("g*10000 = %.20lf\n", g);
    ostalo=g;
    printf("decimalni dio x-a: %d\n", ostalo);
    while((ostalo%10)==0) {
        ostalo/=10;
        }
 
    printf("%d.%d", ostalo,cijelia);
    return 0;
 
}


Je evidentno "tocan" (ako zanemarimo da za npr 12.0 upada u beskonacnu petlju) - ovaj zakljucak izvodim iz toga da za gore navedene slicne kodove nitko od asistenata/profesora nije komentirao "gresku" koja se nalazi u njemu.

Ali, za unos 15.2 program ispisuje ovo:
Kod:

x je predstavljen kao: 15.19999999999999928946
cijeli dio x-a: 15
g= 0.19999999999999928946
g*10000 = 1999.99999999999295141606
decimalni dio x-a: 1999
1999.15


Dakle, do problema je doslo kod samog ucitavanja jer svi brojevi iz zadanog skupa nisu predstavljivi u racunalu.

Sad konacno da pitam to pitanje:
Da li se od studenata ne ocekuje da ovo znaju na prakticnom kolokviju, pa ce se ovakav program bodovati kao tocan ili treba napomenuti studentima da to sto u zadatku pise da se ucitava broj tipa double ne znaci da ga oni moraju i ucitati kao double?

P.S. Hvala kolegici koja je pronasla ovaj primjer.




Zadnja promjena: gflegar; 1:19 pet, 18. 11. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
BlameGame
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 09. 2011. (19:17:53)
Postovi: (6C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 1:11 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

@spik2nick i ostali za fibonaccijev niz koji si napisao, to sve radi, radi i moj nacin mada je pun nepotrebnih gluposti, ali ja nigdje da uguram ono n < 20, probala sam i u tvoj prije prve for petlje i svejedno mi radi :/
??
@spik2nick i ostali za fibonaccijev niz koji si napisao, to sve radi, radi i moj nacin mada je pun nepotrebnih gluposti, ali ja nigdje da uguram ono n < 20, probala sam i u tvoj prije prve for petlje i svejedno mi radi Ehm?
??


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


Pridružen/a: 28. 09. 2011. (12:41:01)
Postovi: (D)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 1:23 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="Phoenix"]@spik2nick: Hint za tebe: isprobaj ovaj input:

[code:1]5
1 2 4 5 4[/code:1][/quote]

Hvala. Previdio sam...

[code:1]#include<stdio.h>

int main(void)
{
int n, x=0, y=0, z=0, i, alfa=0,nije=0;

scanf("%d",&n);

for(i=0;i<n;i++)
{
z=y;
y=x;
scanf("%d",&x);

if(i==2)
if((x-y)%z==0)
alfa=(x-y)/z;
else
nije=1;


if(i>2 && (x-y)%z)
nije=1;



if(i>2 && (x-y)%z==0)
{
if (alfa!=(x-y)/z)
nije=1;
}
}

if(nije)
printf("Ucitani niz nije fibonaccijevski.");
else
printf("Ucitani niz brojeva je fibonaccijevski sa alfa = %d",alfa);


return 0;
}[/code:1]

[size=9][color=#999999]Added after 5 minutes:[/color][/size]

[quote="BlameGame"]@spik2nick i ostali za fibonaccijev niz koji si napisao, to sve radi, radi i moj nacin mada je pun nepotrebnih gluposti, ali ja nigdje da uguram ono n < 20, probala sam i u tvoj prije prve for petlje i svejedno mi radi :/
??[/quote]

koliko ja znam te uvijete je potpuno nepotrebno pisati zato što se ovdje radi o zadacima i test primjeri su točno određeni i ograničeni samim zadatkom. Tako da nitko kada bude provjeravao program neće upisivati neki n koji je veći od 20. Mislim da je i vsego napisao nesto slično na tu temu...
Phoenix (napisa):
@spik2nick: Hint za tebe: isprobaj ovaj input:

Kod:
5
1 2 4 5 4


Hvala. Previdio sam...

Kod:
#include<stdio.h>

int main(void)
{
    int n, x=0, y=0, z=0, i, alfa=0,nije=0;

    scanf("%d",&n);

    for(i=0;i<n;i++)
    {
        z=y;
        y=x;
        scanf("%d",&x);

        if(i==2)
            if((x-y)%z==0)
                alfa=(x-y)/z;
            else
                nije=1;


        if(i>2 && (x-y)%z)
            nije=1;



        if(i>2 && (x-y)%z==0)
        {
            if (alfa!=(x-y)/z)
                nije=1;
        }
    }

if(nije)
    printf("Ucitani niz nije fibonaccijevski.");
else
    printf("Ucitani niz brojeva je fibonaccijevski sa alfa = %d",alfa);


return 0;
}


Added after 5 minutes:

BlameGame (napisa):
@spik2nick i ostali za fibonaccijev niz koji si napisao, to sve radi, radi i moj nacin mada je pun nepotrebnih gluposti, ali ja nigdje da uguram ono n < 20, probala sam i u tvoj prije prve for petlje i svejedno mi radi Ehm?
??


koliko ja znam te uvijete je potpuno nepotrebno pisati zato što se ovdje radi o zadacima i test primjeri su točno određeni i ograničeni samim zadatkom. Tako da nitko kada bude provjeravao program neće upisivati neki n koji je veći od 20. Mislim da je i vsego napisao nesto slično na tu temu...



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
gflegar
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 10. 2011. (15:03:41)
Postovi: (10D)16
Spol: muško
Sarma = la pohva - posuda
68 = 72 - 4

PostPostano: 1:30 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="spik2nick"]
koliko ja znam te uvijete je potpuno nepotrebno pisati zato što se ovdje radi o zadacima i test primjeri su točno određeni i ograničeni samim zadatkom. Tako da nitko kada bude provjeravao program neće upisivati neki n koji je veći od 20. Mislim da je i vsego napisao nesto slično na tu temu...[/quote]

Tocno tako, kako je i vsego rekao na jednom od predavanja, mi se tu igramo "skolice" i ako u zadatku glasi da se ucitavaju brojevi koji zadovoljavaju neki kriterij onda nije bitno sto ce se desiti s programom ako se upise nesto sto ne zadovoljava taj kriterij pa to nije potrebno provjeravati.

A za one koji misle da treba:
Ako se vodite time da treba ispitati svaki moguci unosi, tj provjeriti kriterij, sto vam onda garantira da ce unos uopce biti broj, jer tada trebate provjeravati i taj slucaj, pokusajte umjesto broja unjeti [tt]akjglakdgjag[/tt], garantiram vam da ce se program srusiti.
spik2nick (napisa):

koliko ja znam te uvijete je potpuno nepotrebno pisati zato što se ovdje radi o zadacima i test primjeri su točno određeni i ograničeni samim zadatkom. Tako da nitko kada bude provjeravao program neće upisivati neki n koji je veći od 20. Mislim da je i vsego napisao nesto slično na tu temu...


Tocno tako, kako je i vsego rekao na jednom od predavanja, mi se tu igramo "skolice" i ako u zadatku glasi da se ucitavaju brojevi koji zadovoljavaju neki kriterij onda nije bitno sto ce se desiti s programom ako se upise nesto sto ne zadovoljava taj kriterij pa to nije potrebno provjeravati.

A za one koji misle da treba:
Ako se vodite time da treba ispitati svaki moguci unosi, tj provjeriti kriterij, sto vam onda garantira da ce unos uopce biti broj, jer tada trebate provjeravati i taj slucaj, pokusajte umjesto broja unjeti akjglakdgjag, garantiram vam da ce se program srusiti.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
mila majka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 11. 2011. (16:33:35)
Postovi: (13)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 3:18 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Evo jednog laganog.
Napišite program koji učitava dva realna broja x i y, te ispisuje vrijednost izraza f = x*x*x*x + y*y, za x>= 2*y, odnosno f = x*x - y*y*y*y, za x < 2*y.
Moj kôd je ovaj:

#include <stdio.h>
int main (void) {
double x, y;
scanf ("%lg\n", &x);
scanf ("%lg\n", &y);
if (x>=2*y)
printf ("x*x*x*x+y*y=%g\n", x*x*x*x+y*y);
else
printf ("x*x-y*y*y*y=%g\n", x*x-y*y*y*y);
return 0;

Zbog čega, nakon što unesem prva dva broja, moram unesti još jedan da bi mi program radio? Nakon šta unesem treći broj u obzir mi uzima samo prva dva unešena i za njih izvršava operaciju, tako da je taj treći ionako beskoristan.
Evo jednog laganog.
Napišite program koji učitava dva realna broja x i y, te ispisuje vrijednost izraza f = x*x*x*x + y*y, za x>= 2*y, odnosno f = x*x - y*y*y*y, za x < 2*y.
Moj kôd je ovaj:

#include <stdio.h>
int main (void) {
double x, y;
scanf ("%lg\n", &x);
scanf ("%lg\n", &y);
if (x>=2*y)
printf ("x*x*x*x+y*y=%g\n", x*x*x*x+y*y);
else
printf ("x*x-y*y*y*y=%g\n", x*x-y*y*y*y);
return 0;

Zbog čega, nakon što unesem prva dva broja, moram unesti još jedan da bi mi program radio? Nakon šta unesem treći broj u obzir mi uzima samo prva dva unešena i za njih izvršava operaciju, tako da je taj treći ionako beskoristan.


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


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

PostPostano: 7:19 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="BlameGame"]On bi trebao pokupiti i taj zadnji broj (npr. 1234) i pribrojati ga?[/quote]

Ne, on je terminator. Isto kao zadaci tipa "unosi brojeve dok ne uneses nulu i onda pljuni produkt". Da u produkt gurnes i tu nulu, rezultat bi uvijek bio nula, ne? A sustinski je rijec o istom zadatku.

[quote="spik2nick"]Ali pošto nemamo test primjera nisam siguran jel radi točno ono što bi i trebao...[/quote]

Student matematike bi morao biti u stanju samostalno sloziti nekoliko Fibonaccijevskih i nekoliko ne-Fibonaccijevskih nizova i onda testirati program.

[quote="gflegar"]Je evidentno "tocan" (ako zanemarimo da za npr [tt]12.0[/tt] upada u beskonacnu petlju) - ovaj zakljucak izvodim iz toga da za gore navedene slicne kodove nitko od asistenata/profesora nije komentirao "gresku" koja se nalazi u njemu.[/quote]

Zakljucak je apsolutno pogresan. Pogledaj kolicinu postova dnevno. Ti stvarno mislis da mi po cijele dane analiziramo vase kodove ovdje? NHF, ali imamo i drugih obaveza. Osobno, uletim kad primijetim nesto sto bas zahtijeva moj odgovor, no kodove jednostavno ne stignem proucavati i pustam vas da si medjusobno pomazete.

[quote="gflegar"]Da li se od studenata ne ocekuje da ovo znaju na prakticnom kolokviju, pa ce se ovakav program bodovati kao tocan ili treba napomenuti studentima da to sto u zadatku pise da se ucitava broj tipa double [b] ne znaci da ga oni moraju i ucitati kao double[/b]?[/quote]

Asistenti su dobri (sjetite se ovoga kad popunjavate ankete O:)) i svi test-primjeri ce biti prikazivi. Nagradno pitanje (bez nagrada): koji su brojevi prikazivi?

[quote="mila majka"]Zbog čega, nakon što unesem prva dva broja, moram unesti još jedan da bi mi program radio? Nakon šta unesem treći broj u obzir mi uzima samo prva dva unešena i za njih izvršava operaciju, tako da je taj treći ionako beskoristan.[/quote]

Iznimno, pogledao sam kod; inace ne gledam ako nije zapakiran u code-blokove (dakle, obicni c/p, attachmenti i sl). Stvar je u new-lineu na kraju [tt]scanf()[/tt]-ova, koji su tu ocito ubaceni bez ikakve svrhe.

Usput, verifikator ti nece prihvatiti to rjesenje niti kad ga ispravis. Procitaj help; koristan je.
BlameGame (napisa):
On bi trebao pokupiti i taj zadnji broj (npr. 1234) i pribrojati ga?


Ne, on je terminator. Isto kao zadaci tipa "unosi brojeve dok ne uneses nulu i onda pljuni produkt". Da u produkt gurnes i tu nulu, rezultat bi uvijek bio nula, ne? A sustinski je rijec o istom zadatku.

spik2nick (napisa):
Ali pošto nemamo test primjera nisam siguran jel radi točno ono što bi i trebao...


Student matematike bi morao biti u stanju samostalno sloziti nekoliko Fibonaccijevskih i nekoliko ne-Fibonaccijevskih nizova i onda testirati program.

gflegar (napisa):
Je evidentno "tocan" (ako zanemarimo da za npr 12.0 upada u beskonacnu petlju) - ovaj zakljucak izvodim iz toga da za gore navedene slicne kodove nitko od asistenata/profesora nije komentirao "gresku" koja se nalazi u njemu.


Zakljucak je apsolutno pogresan. Pogledaj kolicinu postova dnevno. Ti stvarno mislis da mi po cijele dane analiziramo vase kodove ovdje? NHF, ali imamo i drugih obaveza. Osobno, uletim kad primijetim nesto sto bas zahtijeva moj odgovor, no kodove jednostavno ne stignem proucavati i pustam vas da si medjusobno pomazete.

gflegar (napisa):
Da li se od studenata ne ocekuje da ovo znaju na prakticnom kolokviju, pa ce se ovakav program bodovati kao tocan ili treba napomenuti studentima da to sto u zadatku pise da se ucitava broj tipa double ne znaci da ga oni moraju i ucitati kao double?


Asistenti su dobri (sjetite se ovoga kad popunjavate ankete Angel) i svi test-primjeri ce biti prikazivi. Nagradno pitanje (bez nagrada): koji su brojevi prikazivi?

mila majka (napisa):
Zbog čega, nakon što unesem prva dva broja, moram unesti još jedan da bi mi program radio? Nakon šta unesem treći broj u obzir mi uzima samo prva dva unešena i za njih izvršava operaciju, tako da je taj treći ionako beskoristan.


Iznimno, pogledao sam kod; inace ne gledam ako nije zapakiran u code-blokove (dakle, obicni c/p, attachmenti i sl). Stvar je u new-lineu na kraju scanf()-ova, koji su tu ocito ubaceni bez ikakve svrhe.

Usput, verifikator ti nece prihvatiti to rjesenje niti kad ga ispravis. Procitaj help; koristan je.



_________________
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
anamarie
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 09. 2011. (10:59:19)
Postovi: (87)16
Spol: žensko
Sarma = la pohva - posuda
= 13 - 8

PostPostano: 9:44 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="boksi"]nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski ;)[/quote]

ne ispisuje ti dobro,npr.za 134.34[b]5[/b] ispiše 34[b]4[/b].134
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


ne ispisuje ti dobro,npr.za 134.345 ispiše 344.134


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


Pridružen/a: 12. 10. 2011. (15:03:41)
Postovi: (10D)16
Spol: muško
Sarma = la pohva - posuda
68 = 72 - 4

PostPostano: 12:19 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="anamarie"][quote="boksi"]nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski ;)[/quote]

ne ispisuje ti dobro,npr.za 134.34[b]5[/b] ispiše 34[b]4[/b].134[/quote]

Ne ispisuje dobro, ali ne u tom smislu u kojem ti mislis, nego cisto zato jer [tt]134.345[/tt] nije prikaziv u racunalu, pa se tu ustvari radi s [tt]134.34499999999999886313[/tt].

[size=9][color=#999999]Added after 13 minutes:[/color][/size]

[quote="vsego"]
Asistenti su dobri (sjetite se ovoga kad popunjavate ankete O:)) i svi test-primjeri ce biti prikazivi. Nagradno pitanje (bez nagrada): koji su brojevi prikazivi?[/quote]

Odgovor na nagradno pitanje, da dobim nepostojeccu nagradu: prikazivi su samo brojevi oblika [tex] \pm\frac{a}{2^{52}} \cdot 2^b [/tex] gdje je [tex] a \in \mathbb{N}, b \in \mathbb{Z}, a < 2^{53}, -1023 < b < 1024[/tex]. Vise - manje, nisam ukljucio denormalizirane brojeve, a moguce da sam ovak na brzinu zaboravio na jos nesto.
anamarie (napisa):
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


ne ispisuje ti dobro,npr.za 134.345 ispiše 344.134


Ne ispisuje dobro, ali ne u tom smislu u kojem ti mislis, nego cisto zato jer 134.345 nije prikaziv u racunalu, pa se tu ustvari radi s 134.34499999999999886313.

Added after 13 minutes:

vsego (napisa):

Asistenti su dobri (sjetite se ovoga kad popunjavate ankete Angel) i svi test-primjeri ce biti prikazivi. Nagradno pitanje (bez nagrada): koji su brojevi prikazivi?


Odgovor na nagradno pitanje, da dobim nepostojeccu nagradu: prikazivi su samo brojevi oblika [tex] \pm\frac{a}{2^{52}} \cdot 2^b [/tex] gdje je [tex] a \in \mathbb{N}, b \in \mathbb{Z}, a < 2^{53}, -1023 < b < 1024[/tex]. Vise - manje, nisam ukljucio denormalizirane brojeve, a moguce da sam ovak na brzinu zaboravio na jos nesto.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
mila majka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 11. 2011. (16:33:35)
Postovi: (13)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 14:43 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote]Usput, verifikator ti nece prihvatiti to rjesenje niti kad ga ispravis. Procitaj help; koristan je.[/quote]
Help u code blocksu? Zbog čega verifikator neće prihvatiti ovo rješenje?
Citat:
Usput, verifikator ti nece prihvatiti to rjesenje niti kad ga ispravis. Procitaj help; koristan je.

Help u code blocksu? Zbog čega verifikator neće prihvatiti ovo rješenje?


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


Pridružen/a: 15. 11. 2011. (23:22:57)
Postovi: (55)16
Sarma = la pohva - posuda
= 7 - 4

PostPostano: 14:54 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Dok imamo neki broj, i onda ga moramo invertirat, naprimjer: imamo 102, i moramo dobiti 201. Tu radim sa onim algoritmom za invertiranje:

b=0;
while (n>0)
{ b=b*10+n%10;
n=n/10;
}

To mi okrene broj, ali sta ako mi broj koji okrecem zavrsava s 0, naprimjer: 120, u okretanju ce se izgubiti 0, i bit ce 21. A to mi u binarnim sustavima nije dobro, jer 021 je drugaciji broj od 21 u bazi 3 recimo.Kako da ne izgubim krajnje 0, odnosno pocetne kada okrenem broj?
Dok imamo neki broj, i onda ga moramo invertirat, naprimjer: imamo 102, i moramo dobiti 201. Tu radim sa onim algoritmom za invertiranje:

b=0;
while (n>0)
{ b=b*10+n%10;
n=n/10;
}

To mi okrene broj, ali sta ako mi broj koji okrecem zavrsava s 0, naprimjer: 120, u okretanju ce se izgubiti 0, i bit ce 21. A to mi u binarnim sustavima nije dobro, jer 021 je drugaciji broj od 21 u bazi 3 recimo.Kako da ne izgubim krajnje 0, odnosno pocetne kada okrenem broj?


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


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

PostPostano: 15:00 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

@gflegar: Konkretne potencije ovise o izabranom realnom tipu i arhitekturi racunala, no da, ideja je skroz ok. Dakle, od nas mozete ocekivat (lupam napamet) 12.375 ([tex]12\frac{3}{8}[/tex]), ali ne i nesto poput 12.1.

@mila majka: Ako pricamo o tome da verifikator nesto nece prihvatiti, onda treba gledati njegov help. Hint: ukrasni ispisi.

@kiara: Ne razumijem sto te muci. Ako invertiras 120, dobijes 021 = 21. Nitko ne kaze da je invertiranje involutorna operacija (i.e., da je inverz inverza pocetni broj). Injektivnost ne postoji, upravo zbog zavrsne nule.
@gflegar: Konkretne potencije ovise o izabranom realnom tipu i arhitekturi racunala, no da, ideja je skroz ok. Dakle, od nas mozete ocekivat (lupam napamet) 12.375 ([tex]12\frac{3}{8}[/tex]), ali ne i nesto poput 12.1.

@mila majka: Ako pricamo o tome da verifikator nesto nece prihvatiti, onda treba gledati njegov help. Hint: ukrasni ispisi.

@kiara: Ne razumijem sto te muci. Ako invertiras 120, dobijes 021 = 21. Nitko ne kaze da je invertiranje involutorna operacija (i.e., da je inverz inverza pocetni broj). Injektivnost ne postoji, upravo zbog zavrsne nule.



_________________
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
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: 16:15 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="kiara"] 021 je drugaciji broj od 21 u bazi 3 recimo.[/quote]
Ma kako to? [tex](021)_3 = 0 \cdot 3^2 + 2 \cdot 3 + 1 = 2 \cdot 3 + 1 = (21)_3[/tex]
kiara (napisa):
021 je drugaciji broj od 21 u bazi 3 recimo.

Ma kako to? [tex](021)_3 = 0 \cdot 3^2 + 2 \cdot 3 + 1 = 2 \cdot 3 + 1 = (21)_3[/tex]



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


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 16:26 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="gflegar"]
Meni ne dijeluje, stovise je bi ovo ovako rijesio, jer mi je logicno zakljuciti da za ulaz dobijemo broj [b]formatiran[/b] kao double, a mene su ucili (tu mislim na bivseg olimpijca koji danas radi u google-u) da je najbolje realan broj ucitati tako da ne gubimo na preciznosti.

[code:1]
#include <stdio.h>

int main(void){
int c, f;
scanf("%d.%d", &c, &f);
while(f % 10 == 0 && f != 0) f/= 10;
printf("%d.%d", f, c);
return 0;
}
[/code:1]
(Nisam ovo kompajlirao ali valjda radi :D )[/quote]

Priznaje li se ovo kao riješenje zadatka?
Zadatak očito zahtjeva da zamijeni decimalni dio s cijelim, da ga sad ne prepisujem doslovno. 12.345 => 345.12
Mislim, ovdje su očito učitana dva inta a ne jedan double, a sad ne razumijem šta je Flegar tu pokušao objasniti pa...
gflegar (napisa):

Meni ne dijeluje, stovise je bi ovo ovako rijesio, jer mi je logicno zakljuciti da za ulaz dobijemo broj formatiran kao double, a mene su ucili (tu mislim na bivseg olimpijca koji danas radi u google-u) da je najbolje realan broj ucitati tako da ne gubimo na preciznosti.

Kod:

#include <stdio.h>

int main(void){
    int c, f;
    scanf("%d.%d", &c, &f);
    while(f % 10 == 0 && f != 0) f/= 10;
    printf("%d.%d", f, c);
    return 0;
}

(Nisam ovo kompajlirao ali valjda radi Very Happy )


Priznaje li se ovo kao riješenje zadatka?
Zadatak očito zahtjeva da zamijeni decimalni dio s cijelim, da ga sad ne prepisujem doslovno. 12.345 ⇒ 345.12
Mislim, ovdje su očito učitana dva inta a ne jedan double, a sad ne razumijem šta je Flegar tu pokušao objasniti pa...


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


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

PostPostano: 17:28 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Ovisi sto kaze text zadatka (ne trazi mi se sada, a ne znam ih napamet). Ako kaze "ucitati realni broj", onda treba ucitati realni broj. Isto tako, ako kaze naci invertirani broj i ispisati ga, onda "lazni" ispis nije dosta.
Ovisi sto kaze text zadatka (ne trazi mi se sada, a ne znam ih napamet). Ako kaze "ucitati realni broj", onda treba ucitati realni broj. Isto tako, ako kaze naci invertirani broj i ispisati ga, onda "lazni" ispis nije dosta.



_________________
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
kiara
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 11. 2011. (23:22:57)
Postovi: (55)16
Sarma = la pohva - posuda
= 7 - 4

PostPostano: 21:57 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]
@kiara: Ne razumijem sto te muci. Ako invertiras 120, dobijes 021 = 21. Nitko ne kaze da je invertiranje involutorna operacija (i.e., da je inverz inverza pocetni broj). Injektivnost ne postoji, upravo zbog zavrsne nule.[/quote]

Nisam bas najbolje objasnila. Npr. 40. zadatak,ako upisem broj 78, i bazu 2. Meni ce to prvo prebaciti pomocu
z=0;
while (n>0)
{
z=z*10+n%b;
n=n/b;
}
u obrnuti broj od binarnog zapisa 78. I to ce biti 111001. I u sljedecem algoritmu za invertiranje broja bi taj broj okrenula. Ali problem je što mi ne ispisuje početnu nulu, ne ispisuje 0111001 da bi mi okrenuti bio tocan.
vsego (napisa):

@kiara: Ne razumijem sto te muci. Ako invertiras 120, dobijes 021 = 21. Nitko ne kaze da je invertiranje involutorna operacija (i.e., da je inverz inverza pocetni broj). Injektivnost ne postoji, upravo zbog zavrsne nule.


Nisam bas najbolje objasnila. Npr. 40. zadatak,ako upisem broj 78, i bazu 2. Meni ce to prvo prebaciti pomocu
z=0;
while (n>0)
{
z=z*10+n%b;
n=n/b;
}
u obrnuti broj od binarnog zapisa 78. I to ce biti 111001. I u sljedecem algoritmu za invertiranje broja bi taj broj okrenula. Ali problem je što mi ne ispisuje početnu nulu, ne ispisuje 0111001 da bi mi okrenuti bio tocan.


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


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

PostPostano: 23:21 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Prvo: ne glumi prebacivanje u bazu 10. Recimo da je b=2. Tada je [tex](1 111 111 111)_2[/tex] = 2^10-1 = 1023 najviše što ti stane u [tt]int[/tt] jer u njega stanu brojevi do 2 milijarde i nesto (ili [tt]unsigned int[/tt], svejedno; u njega stane 4 milijarde i nesto). Dakle, program ti je [b]jako[/b] ogranicen i to rjesenje nikako ne prolazi pod tocno.

Drugo: cemu invertirati broj? Kreni lijepo slijeva na desno.
1. nadji [tex]p = b^k[/tex], [tex]k \in \mathbb{N}_0[/tex] takav da je [tex]p = b^k \leq n < b^{k+1} = p \cdot b[/tex] (to je jednostavna [tt]while[/tt]-petlja),
2. najljevija znamenka broja [tt]n[/tt] je ocito: [tt]n / p[/tt],
3. najljeviju znamenku odrezes s [tt]n -= p * (n / p)[/tt].

Provjeri formule jer pisem napamet i nabrzinu, no vjerujem da nisam nesto bitno fulao.
Prvo: ne glumi prebacivanje u bazu 10. Recimo da je b=2. Tada je [tex](1 111 111 111)_2[/tex] = 2^10-1 = 1023 najviše što ti stane u int jer u njega stanu brojevi do 2 milijarde i nesto (ili unsigned int, svejedno; u njega stane 4 milijarde i nesto). Dakle, program ti je jako ogranicen i to rjesenje nikako ne prolazi pod tocno.

Drugo: cemu invertirati broj? Kreni lijepo slijeva na desno.
1. nadji [tex]p = b^k[/tex], [tex]k \in \mathbb{N}_0[/tex] takav da je [tex]p = b^k \leq n < b^{k+1} = p \cdot b[/tex] (to je jednostavna while-petlja),
2. najljevija znamenka broja n je ocito: n / p,
3. najljeviju znamenku odrezes s n -= p * (n / p).

Provjeri formule jer pisem napamet i nabrzinu, no vjerujem da nisam nesto bitno fulao.



_________________
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
kiara
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 11. 2011. (23:22:57)
Postovi: (55)16
Sarma = la pohva - posuda
= 7 - 4

PostPostano: 23:32 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Ok, hvala. Nevezano uz ovaj zadatak, sta da radim kad mi je double naprimjer 2900, i moram ga pretvorit u int, pretvori mi ga al u 2899, a to su mi razlicite znamenke. Kako da ga pretvorim u int da ostane 2900?
Ok, hvala. Nevezano uz ovaj zadatak, sta da radim kad mi je double naprimjer 2900, i moram ga pretvorit u int, pretvori mi ga al u 2899, a to su mi razlicite znamenke. Kako da ga pretvorim u int da ostane 2900?


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


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 0:08 sub, 19. 11. 2011    Naslov: Citirajte i odgovorite

[b]Zadatak 23:[/b]
Napisati program koji će učitati cijeli broj n i za taj n izračunati vrijednost Eulerove funkcije od n. Eulerova funkcija definira se kao broj prirodnih brojeva u skupu {1,...,n} koji su relativno prosti s n.

Valja li moje riješenje?
[code:1]#include<stdio.h>
int main(void)
{
int n,k,i,brojac=0,rp,div;
scanf("%d",&n);
if (n==1) brojac++;
for( k=1; k<n; k++ )
{
rp=1;
div=2;
while ( div<=k && rp )
{
if ( n%div==0 && k%div==0) rp=0;
div++;
}
if ( rp ) brojac++;
}
printf ("%d",brojac);
return 0;
}
[/code:1]

[b]Zadatak 30:[/b]
Kažemo da je matrica koja se sastoji samo od binarnih znamenki "hrvatska" ako u svakom retku i u svakom stupcu naizmjenično dolaze znamenke 1 i 0. Napišite program koji učitava broj redaka m i broj stupaca n i matricu koja će se sastojati samo od binarnih znamenki (ne treba provjeravati), te ispisuje riječ "DA" ako je učitana matrica hrvatska, a riječ "NE" u protivnom.
Gornji lijevi element hrvatske matrice smije biti i 0 i 1.


[code:1]#include<stdio.h>
int main(void)
{
int mxn,ODGOVOR=1,m,n,a,b,i;
scanf("%d %d",&m,&n);
mxn=n*m;
scanf("%d",&a);
if ( a!=0 && a!=1 ) ODGOVOR=0;
for ( i=1; i<mxn; i++ )
{
scanf("%d",&b);
if ( (b!=0 && b!=1) || b==a ) ODGOVOR=0;
a=b;
}
if (ODGOVOR) printf("DA");
else printf("NE");
return 0;
}[/code:1]

Valja li mi?
Hvala unaprijed.
Zadatak 23:
Napisati program koji će učitati cijeli broj n i za taj n izračunati vrijednost Eulerove funkcije od n. Eulerova funkcija definira se kao broj prirodnih brojeva u skupu {1,...,n} koji su relativno prosti s n.

Valja li moje riješenje?
Kod:
#include<stdio.h>
int main(void)
{
    int n,k,i,brojac=0,rp,div;
    scanf("%d",&n);
    if (n==1) brojac++;
    for( k=1; k<n; k++ )
    {
        rp=1;
        div=2;
        while ( div<=k && rp )
        {
            if ( n%div==0 && k%div==0) rp=0;
            div++;
        }
        if ( rp ) brojac++;
    }
    printf ("%d",brojac);
    return 0;
}


Zadatak 30:
Kažemo da je matrica koja se sastoji samo od binarnih znamenki "hrvatska" ako u svakom retku i u svakom stupcu naizmjenično dolaze znamenke 1 i 0. Napišite program koji učitava broj redaka m i broj stupaca n i matricu koja će se sastojati samo od binarnih znamenki (ne treba provjeravati), te ispisuje riječ "DA" ako je učitana matrica hrvatska, a riječ "NE" u protivnom.
Gornji lijevi element hrvatske matrice smije biti i 0 i 1.


Kod:
#include<stdio.h>
int main(void)
{
    int mxn,ODGOVOR=1,m,n,a,b,i;
    scanf("%d %d",&m,&n);
    mxn=n*m;
    scanf("%d",&a);
    if ( a!=0 && a!=1 ) ODGOVOR=0;
    for ( i=1; i<mxn; i++ )
    {
        scanf("%d",&b);
        if ( (b!=0 && b!=1) || b==a ) ODGOVOR=0;
        a=b;
    }
    if (ODGOVOR) printf("DA");
    else printf("NE");
    return 0;
}


Valja li mi?
Hvala unaprijed.



_________________
It's a wonderful, wonderful life!
[tex]\heartsuit \ \mathcal{PMF-MO} \ \heartsuit[/tex]
[tex]\mathbb Z\Sigma\mathbb N\emptyset\mathbb N[/tex]
[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 ... 8, 9, 10 ... 17, 18, 19  Sljedeće
Stranica 9 / 19.

 
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