Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Zenon Forumaš(ica)
Pridružen/a: 09. 09. 2011. (19:14:43) Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]
|
Postano: 15:11 čet, 19. 1. 2012 Naslov: |
|
|
[quote="vsego"]Mudro Strumfeta (btw, znas da je ispravno Strum[color=red]p[/color]feta? :D) zbori, no ima jos jedna stvar: imamo umnozak polinoma, sto znaci da treba staviti [tt]p = 0;[/tt] prije ulaska u unutrasnju petlju u funkciji, inace se ispravno racuna vrijednost samo prvog polinoma. Ostalo mi se cini ok.
Samo da naglasim sto je Strumfeta rekla: dok ste na Prog, ne stavljati [tt]tip varijabla[[color=red]izraz[/color]];[/tt], osim ako je [tt]izraz[/tt] konstantan (npr. [tt]17*19[/tt]). Nizove varijabilne duljine radimo dinamickom alokacijom u prvoj polovici ljetnog semestra. U Prog 1 obicno zadamo duljinu; ovdje je valjda to zaboravljeno, pa zato ide proizvoljno.
No, ako uvodite neki niz koji zapravo ne treba, uvodjenje ogranicenja se ne prihvaca. Recimo: "Funkcija prima niz i treba ga sortirati po sumi znamenaka". Onda ne smijete dodati pomocni niz, jer ne znate gornju ogradu na njegovu duljinu. Ako dodatni nizovi nisu zabranjeni, smijete s dinamickom alokacijom (iako ju nismo radili), no onda mora biti korektno obavljena, ali zapravo se cilja na rjesenje bez pomocnih nizova (dakle, u skladu s obradjenim gradivom).
Ako mislite da trebate deklarirati neki niz za koji nismo zadali maksimalnu duljinu, mozete pitati dezurnog je li greska da te duljine nema u zadatku.[/quote]
Ovo je zadatak iz skripte, i da, kaže da je duljina niza [tex]n^2+1[/tex], tj. ovisi o veličini učitanog n-a. Glupo mi je sada staviti a[100] jer ako korisnik učita prirodni broj veći od 9, već je prešao limit niza. A nisam znao da se ovako ne smije. Ok!
Radi mi ispravno!!! :party: :thankyou:
vsego (napisa): | Mudro Strumfeta (btw, znas da je ispravno Strumpfeta? ) zbori, no ima jos jedna stvar: imamo umnozak polinoma, sto znaci da treba staviti p = 0; prije ulaska u unutrasnju petlju u funkciji, inace se ispravno racuna vrijednost samo prvog polinoma. Ostalo mi se cini ok.
Samo da naglasim sto je Strumfeta rekla: dok ste na Prog, ne stavljati tip varijabla[izraz];, osim ako je izraz konstantan (npr. 17*19). Nizove varijabilne duljine radimo dinamickom alokacijom u prvoj polovici ljetnog semestra. U Prog 1 obicno zadamo duljinu; ovdje je valjda to zaboravljeno, pa zato ide proizvoljno.
No, ako uvodite neki niz koji zapravo ne treba, uvodjenje ogranicenja se ne prihvaca. Recimo: "Funkcija prima niz i treba ga sortirati po sumi znamenaka". Onda ne smijete dodati pomocni niz, jer ne znate gornju ogradu na njegovu duljinu. Ako dodatni nizovi nisu zabranjeni, smijete s dinamickom alokacijom (iako ju nismo radili), no onda mora biti korektno obavljena, ali zapravo se cilja na rjesenje bez pomocnih nizova (dakle, u skladu s obradjenim gradivom).
Ako mislite da trebate deklarirati neki niz za koji nismo zadali maksimalnu duljinu, mozete pitati dezurnog je li greska da te duljine nema u zadatku. |
Ovo je zadatak iz skripte, i da, kaže da je duljina niza [tex]n^2+1[/tex], tj. ovisi o veličini učitanog n-a. Glupo mi je sada staviti a[100] jer ako korisnik učita prirodni broj veći od 9, već je prešao limit niza. A nisam znao da se ovako ne smije. Ok!
Radi mi ispravno!!!
|
|
[Vrh] |
|
aj_ca_volin_te Forumaš(ica)
Pridružen/a: 22. 11. 2011. (20:18:49) Postovi: (6F)16
|
Postano: 21:06 čet, 19. 1. 2012 Naslov: |
|
|
http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0910-2.pdf
3.zadatak
[code:1]double h( double a[], double b[], int n, double x)
{
int i, j, m,
double sum, prod=1;
for(i=1;i<=n;i++)
{
sum=0;
for(j=n;j>=1;j--)
{
sum=sum*x+(a[i-1]+b[j-1]);
}
for(m=i;m>0;m--)
{
sum=sum*x;
}
prod=sum*prod;
}
return prod;
}
[/code:1]
jeli mi moze mozda netko ukazati na greske u ovom kodu, iako se nadam da ih nema :P
http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0910-2.pdf
3.zadatak
Kod: | double h( double a[], double b[], int n, double x)
{
int i, j, m,
double sum, prod=1;
for(i=1;i<=n;i++)
{
sum=0;
for(j=n;j>=1;j--)
{
sum=sum*x+(a[i-1]+b[j-1]);
}
for(m=i;m>0;m--)
{
sum=sum*x;
}
prod=sum*prod;
}
return prod;
}
|
jeli mi moze mozda netko ukazati na greske u ovom kodu, iako se nadam da ih nema
|
|
[Vrh] |
|
homoviator Forumaš(ica)
Pridružen/a: 31. 01. 2011. (18:42:32) Postovi: (3A)16
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 1:37 pet, 20. 1. 2012 Naslov: |
|
|
@aj_ca_volin_te: Posto postoje sluzbena rjesenja, usporedi s tim. Meni se cini da ti fali jedna potencija [tt]x[/tt]-a, jer potencije u polinomu idu od [tt]i+1[/tt] to [tt]i+n[/tt], sto znaci da treba izluciti [tex]x^{i+1}[/tex], a ne [tex]x^i[/tex].
@aj_ca_volin_te: Posto postoje sluzbena rjesenja, usporedi s tim. Meni se cini da ti fali jedna potencija x-a, jer potencije u polinomu idu od i+1 to i+n, sto znaci da treba izluciti [tex]x^{i+1}[/tex], a ne [tex]x^i[/tex].
_________________ 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.
|
|
[Vrh] |
|
lost_soul Forumaš(ica)
Pridružen/a: 18. 10. 2009. (17:38:41) Postovi: (133)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 23:02 sri, 1. 2. 2012 Naslov: |
|
|
Zbog pomaka (onog +1 u formuli). Ako stavis [tt](n-1)/3[/tt] i onda to u nekom trenu pomnozis s 3, dobit ces broj koji je manji ili jednak od [tt]n-1[/tt], ovisno o ostatku pri dijeljenju [tt]n[/tt] s 3.
Recimo da je [tt]n % 3 == 1[/tt], tj. da je [tt]n-1[/tt] djeljivo s 3. Tada bi ti taj rubni slucaj, [tt]3 * ((n-1)/3) == n-1[/tt] bio indeks djeljiv s 3. Dodas 1 (jer su indexi koje gledamo oblika [tex]3i+1[/tex], dakle imaju ostatak 1 pri dijeljenju s 3) i dobijes indeks [tt]n[/tt] sto je previse.
Ili, jednostavnije, uzmi taj pocetni [tt]i[/tt] (iz bilo koje od dvije verzije) i uvrsti u pripadni [tt]a[...][/tt], pa vidi sto se dogadja.
Zdravo je provjeriti za 3 vrijednosti [tt]n[/tt] takve da su im ostaci pri dijeljenju s 3 razliciti. Npr. uvrsti [tt]n = 5,6,7[/tt] (svima bi najveci index morao ispasti 4).
Zbog pomaka (onog +1 u formuli). Ako stavis (n-1)/3 i onda to u nekom trenu pomnozis s 3, dobit ces broj koji je manji ili jednak od n-1, ovisno o ostatku pri dijeljenju n s 3.
Recimo da je n % 3 == 1, tj. da je n-1 djeljivo s 3. Tada bi ti taj rubni slucaj, 3 * ((n-1)/3) == n-1 bio indeks djeljiv s 3. Dodas 1 (jer su indexi koje gledamo oblika [tex]3i+1[/tex], dakle imaju ostatak 1 pri dijeljenju s 3) i dobijes indeks n sto je previse.
Ili, jednostavnije, uzmi taj pocetni i (iz bilo koje od dvije verzije) i uvrsti u pripadni a[...], pa vidi sto se dogadja.
Zdravo je provjeriti za 3 vrijednosti n takve da su im ostaci pri dijeljenju s 3 razliciti. Npr. uvrsti n = 5,6,7 (svima bi najveci index morao ispasti 4).
_________________ 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.
|
|
[Vrh] |
|
lost_soul Forumaš(ica)
Pridružen/a: 18. 10. 2009. (17:38:41) Postovi: (133)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 23:32 sri, 1. 2. 2012 Naslov: |
|
|
Inace, uvijek provjeravajte granicne slucajeve petlji. Ja sam bogatije "skidao" bodove na indeksima koji izlete iz niza nego na jednostavno pogresnim formulama (kad su indexi pogresni, ali ostanu unutar niza). A stvarno ne bi trebalo biti neki problem uvrstiti rubne slucajeve (i [b]ne[/b] dobiti, kao lijep broj studenata, da [tt]i[/tt] krece od [tt]n-1[/tt], za index koji ima formulu [tt]n-1-2*i[/tt], dakle gotovo uvijek je u prvom koraku petlje negativan).
Inace, uvijek provjeravajte granicne slucajeve petlji. Ja sam bogatije "skidao" bodove na indeksima koji izlete iz niza nego na jednostavno pogresnim formulama (kad su indexi pogresni, ali ostanu unutar niza). A stvarno ne bi trebalo biti neki problem uvrstiti rubne slucajeve (i ne dobiti, kao lijep broj studenata, da i krece od n-1, za index koji ima formulu n-1-2*i, dakle gotovo uvijek je u prvom koraku petlje negativan).
_________________ 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.
|
|
[Vrh] |
|
|