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 ... 7, 8, 9 ... 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
spik2nick
Forumaš(ica)
Forumaš(ica)


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

PostPostano: 23:03 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

Zadatak 17:
Napisati program koji ce ucitati ulazni double broj, a zatim ispisati onaj broj koji bi nastao zamjenom cijelog i decimalnog
dijela. Primjerice, ukoliko je ulazni broj bio 75.125, program ce ispisati broj 125.75.
Napomena: Mozete pretpostaviti da ulazni broj nije veci od 9999 i da nema vise od 4 decimale.


Imam samo jedno pitanje vezano uz ispis. Znači na kraju mi program ispisuje nepotrebne nule. Kako bi to mogao kvalitetno riješiti?

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

int main(void)
{
double x,broj=0,baza=1,ostatak=0;
int intx,i,dec=4;
scanf("%lg",&x);

intx=(int)(x*10000);

while(intx%10==0)
{
intx/=10;
dec--;
}

for(i=0;i<dec;i++)
{
broj+=(intx%10)*baza;
intx/=10;
baza*=10;
}

while(intx!=0)
{
ostatak+=intx%10;
ostatak*=0.1;
intx/=10;
}

broj+=ostatak;
printf("Naopako: %f",broj);

return 0;
}
[/code:1]
Zadatak 17:
Napisati program koji ce ucitati ulazni double broj, a zatim ispisati onaj broj koji bi nastao zamjenom cijelog i decimalnog
dijela. Primjerice, ukoliko je ulazni broj bio 75.125, program ce ispisati broj 125.75.
Napomena: Mozete pretpostaviti da ulazni broj nije veci od 9999 i da nema vise od 4 decimale.


Imam samo jedno pitanje vezano uz ispis. Znači na kraju mi program ispisuje nepotrebne nule. Kako bi to mogao kvalitetno riješiti?

Kod:
#include<stdio.h>

int main(void)
{
    double x,broj=0,baza=1,ostatak=0;
    int intx,i,dec=4;
    scanf("%lg",&x);

    intx=(int)(x*10000);

    while(intx%10==0)
    {
            intx/=10;
            dec--;
    }

    for(i=0;i<dec;i++)
    {
        broj+=(intx%10)*baza;
        intx/=10;
        baza*=10;
    }

    while(intx!=0)
    {
        ostatak+=intx%10;
        ostatak*=0.1;
        intx/=10;
    }

    broj+=ostatak;
    printf("Naopako: %f",broj);

return 0;
}



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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: 23:09 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

[quote="spik2nick"]Zadatak 17:
Napisati program koji ce ucitati ulazni double broj, a zatim ispisati onaj broj koji bi nastao zamjenom cijelog i decimalnog
dijela. Primjerice, ukoliko je ulazni broj bio 75.125, program ce ispisati broj 125.75.
Napomena: Mozete pretpostaviti da ulazni broj nije veci od 9999 i da nema vise od 4 decimale.


Imam samo jedno pitanje vezano uz ispis. Znači na kraju mi program ispisuje nepotrebne nule. Kako bi to mogao kvalitetno riješiti?

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

int main(void)
{
double x,broj=0,baza=1,ostatak=0;
int intx,i,dec=4;
scanf("%lg",&x);

intx=(int)(x*10000);

while(intx%10==0)
{
intx/=10;
dec--;
}

for(i=0;i<dec;i++)
{
broj+=(intx%10)*baza;
intx/=10;
baza*=10;
}

while(intx!=0)
{
ostatak+=intx%10;
ostatak*=0.1;
intx/=10;
}

broj+=ostatak;
printf("Naopako: %f",broj);

return 0;
}
[/code:1][/quote]
hm..može imati maksimalno 4 decimale,znači [b]%.4f[/b]
a to bi ispisalo 125.7500
spik2nick (napisa):
Zadatak 17:
Napisati program koji ce ucitati ulazni double broj, a zatim ispisati onaj broj koji bi nastao zamjenom cijelog i decimalnog
dijela. Primjerice, ukoliko je ulazni broj bio 75.125, program ce ispisati broj 125.75.
Napomena: Mozete pretpostaviti da ulazni broj nije veci od 9999 i da nema vise od 4 decimale.


Imam samo jedno pitanje vezano uz ispis. Znači na kraju mi program ispisuje nepotrebne nule. Kako bi to mogao kvalitetno riješiti?

Kod:
#include<stdio.h>

int main(void)
{
    double x,broj=0,baza=1,ostatak=0;
    int intx,i,dec=4;
    scanf("%lg",&x);

    intx=(int)(x*10000);

    while(intx%10==0)
    {
            intx/=10;
            dec--;
    }

    for(i=0;i<dec;i++)
    {
        broj+=(intx%10)*baza;
        intx/=10;
        baza*=10;
    }

    while(intx!=0)
    {
        ostatak+=intx%10;
        ostatak*=0.1;
        intx/=10;
    }

    broj+=ostatak;
    printf("Naopako: %f",broj);

return 0;
}

hm..može imati maksimalno 4 decimale,znači %.4f
a to bi ispisalo 125.7500


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


Pridružen/a: 02. 09. 2011. (16:37:55)
Postovi: (44)16
Spol: žensko
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 23:11 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski ;)
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink





Untitled2.c
 Description:

Download
 Filename:  Untitled2.c
 Filesize:  295 Bytes
 Downloaded:  93 Time(s)

[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: 23:16 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

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

Hvala. Nisam se ni sjetio toga. Vjerujem da je to ok. Ali ipak me zanima kako bi se decimalni broj mogao ispisati tako da ispise tocno onoliko znamenaka koliko ih i ima?? Ako netko zna...
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


Hvala. Nisam se ni sjetio toga. Vjerujem da je to ok. Ali ipak me zanima kako bi se decimalni broj mogao ispisati tako da ispise tocno onoliko znamenaka koliko ih i ima?? Ako netko zna...



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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: 23:20 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

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

može imati 4 decimale,pa npr.123.7654 ti ne bi dobro ispisalo jer ti fali jedna nula..

xb=(d-xa)*1000[b]0[/b];
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


može imati 4 decimale,pa npr.123.7654 ti ne bi dobro ispisalo jer ti fali jedna nula..

xb=(d-xa)*10000;


[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 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

@spik2nick: Format [tt]%g[/tt]?
@spik2nick: Format %g?



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


Pridružen/a: 18. 10. 2009. (17:38:41)
Postovi: (133)16
Sarma = la pohva - posuda
= 15 - 6

PostPostano: 23:21 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

@boksi: ma bitno da ispisuje ono što se u zadatku traži, a na nama je da se dosjetimo što lakšeg načina.. treba imati i mašte ;)
@boksi: ma bitno da ispisuje ono što se u zadatku traži, a na nama je da se dosjetimo što lakšeg načina.. treba imati i mašte Wink


[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: 23:22 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

Edit: nevermind
Edit: nevermind



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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: 23:24 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

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

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 )
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


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 )




Zadnja promjena: gflegar; 23:50 čet, 17. 11. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
boksi
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 09. 2011. (16:37:55)
Postovi: (44)16
Spol: žensko
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 23:24 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

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

može imati 4 decimale,pa npr.123.7654 ti ne bi dobro ispisalo jer ti fali jedna nula..

xb=(d-xa)*1000[b]0[/b];[/quote]

dobro zamjećeno :)
hvala!
anamarie (napisa):
boksi (napisa):
nisam sigurna je li moje ok, ispisuje dobro, ali meni djeluje malo prevarantski Wink


može imati 4 decimale,pa npr.123.7654 ti ne bi dobro ispisalo jer ti fali jedna nula..

xb=(d-xa)*10000;


dobro zamjećeno Smile
hvala!


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


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

PostPostano: 23:52 čet, 17. 11. 2011    Naslov: Citirajte i odgovorite

Pitanje vezano za:
Zadatak 9:
Napisati program koji ´ce unositi realne brojeve dvostruke preciznosti (double) sve dok se ne unese broj manji od nule ili broj
ve´ci od 1000. Svaki uneseni broj treba zaokruˇziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konaˇcnu
sumu.

On bi trebao pokupiti i taj zadnji broj (npr. 1234) i pribrojati ga?
Pitanje vezano za:
Zadatak 9:
Napisati program koji ´ce unositi realne brojeve dvostruke preciznosti (double) sve dok se ne unese broj manji od nule ili broj
ve´ci od 1000. Svaki uneseni broj treba zaokruˇziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konaˇcnu
sumu.

On bi trebao pokupiti i taj zadnji broj (npr. 1234) i pribrojati ga?


[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:01 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Zadatak 12, fibonaccijevski niz. Stalno mi se ruši nakon unosa trećeg člana. Mislim da je ovaj dio kritičan:
[code:1]if ((a2-a1)%a0==0) alfa = (a2-a1)/a0;
else Fibonacci=0;[/code:1]
jer kad njega maknem, program se ne ruši nego nastavi normalno i mislim da bi čak trebao raditi.
Trenutno ne vidim uzrok...
Zadatak 12, fibonaccijevski niz. Stalno mi se ruši nakon unosa trećeg člana. Mislim da je ovaj dio kritičan:
Kod:
if ((a2-a1)%a0==0) alfa = (a2-a1)/a0;               
   else Fibonacci=0;

jer kad njega maknem, program se ne ruši nego nastavi normalno i mislim da bi čak trebao raditi.
Trenutno ne vidim uzrok...





12.c
 Description:

Download
 Filename:  12.c
 Filesize:  1.72 KB
 Downloaded:  103 Time(s)

[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: 0:04 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]@spik2nick: Format [tt]%g[/tt]?[/quote]

neznam zasto ali "%g" mi ga zaokruzi na dvije decimale...
vsego (napisa):
@spik2nick: Format %g?


neznam zasto ali "%g" mi ga zaokruzi na dvije decimale...



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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: 0:07 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="PermutiranoPrase"]Zadatak 12, fibonaccijevski niz. Stalno mi se ruši nakon unosa trećeg člana. Mislim da je ovaj dio kritičan:
[code:1]if ((a2-a1)%a0==0) alfa = (a2-a1)/a0;
else Fibonacci=0;[/code:1]
jer kad njega maknem, program se ne ruši nego nastavi normalno i mislim da bi čak trebao raditi.
Trenutno ne vidim uzrok...[/quote]
Jedino što u tom dijelu koda može uzrokovati rušenje je dijeljenje s nulom.
PermutiranoPrase (napisa):
Zadatak 12, fibonaccijevski niz. Stalno mi se ruši nakon unosa trećeg člana. Mislim da je ovaj dio kritičan:
Kod:
if ((a2-a1)%a0==0) alfa = (a2-a1)/a0;               
   else Fibonacci=0;

jer kad njega maknem, program se ne ruši nego nastavi normalno i mislim da bi čak trebao raditi.
Trenutno ne vidim uzrok...

Jedino što u tom dijelu koda može uzrokovati rušenje je dijeljenje s nulom.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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:13 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Da, to sam i ja mislila, ali problem je - ne dijelim s nulom. Unesem 1, 2, 4, dijeli se (4-2)/1 i sruši se. :?
Da, to sam i ja mislila, ali problem je - ne dijelim s nulom. Unesem 1, 2, 4, dijeli se (4-2)/1 i sruši se. Confused


[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: 0:17 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="PermutiranoPrase"]Da, to sam i ja mislila, ali problem je - ne dijelim s nulom. Unesem 1, 2, 4, dijeli se (4-2)/1 i sruši se. :?[/quote]
Daj postaj kompletan kod, jer ovako je nemoguće pronaći problem.
PermutiranoPrase (napisa):
Da, to sam i ja mislila, ali problem je - ne dijelim s nulom. Unesem 1, 2, 4, dijeli se (4-2)/1 i sruši se. Confused

Daj postaj kompletan kod, jer ovako je nemoguće pronaći problem.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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:22 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

Zar nije u privitku čitav kod, tj. .c datoteka?
Zar nije u privitku čitav kod, tj. .c datoteka?


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


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

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

Prase, što ti točno radi sljedeća linija? :?

[code:1]if ((a-a2)/a1 || (a-a2)/a1!=alfa) Fibonacci=0;[/code:1]

Moje zamjerke:
1) Ispravi ovu liniju gore. Prije nego uđeš u petlju izračunaj [tt]alfa[/tt] preko [tt]a0[/tt], [tt]a1[/tt] i [tt]a2[/tt] pa će ova provjera imati smisla (premda ti prvi uvjet ne treba, dakle samo [tt](a-a2)/a1!=alfa[/tt]).
2) Uvjet tvoje do-while petlje bi trebao biti [tt]a0==0[/tt].

I da, možda još jedna sitnica: kada provjeravaš je li [tt](a-a2)/a1!=alfa[/tt], stavi da je [tt]alfa2=(a-a2)/a1[/tt] i dodatno provjeri je li [tt]a1*alfa2+a2==a[/tt] (jer zbog cjelobrojnog dijeljenja možeš dobiti drugačije rješenje od željenog).
Prase, što ti točno radi sljedeća linija? Confused

Kod:
if ((a-a2)/a1 || (a-a2)/a1!=alfa) Fibonacci=0;


Moje zamjerke:
1) Ispravi ovu liniju gore. Prije nego uđeš u petlju izračunaj alfa preko a0, a1 i a2 pa će ova provjera imati smisla (premda ti prvi uvjet ne treba, dakle samo (a-a2)/a1!=alfa).
2) Uvjet tvoje do-while petlje bi trebao biti a0==0.

I da, možda još jedna sitnica: kada provjeravaš je li (a-a2)/a1!=alfa, stavi da je alfa2=(a-a2)/a1 i dodatno provjeri je li a1*alfa2+a2==a (jer zbog cjelobrojnog dijeljenja možeš dobiti drugačije rješenje od željenog).


[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: 0:38 pet, 18. 11. 2011    Naslov: Citirajte i odgovorite

[quote="PermutiranoPrase"]Zar nije u privitku čitav kod, tj. .c datoteka?[/quote]
Sorry, nisam vidio :oops:

Uglavnom, našao sam problem:
[code:1]do {
printf("Unesite prvi clan niza, a0, razlicit od 0: ");
scanf("%d", &a0);
} while (a0=0);
[/code:1]
Uvjet za prekid izvršavanja petlje nije testiranje jednakosti ([tt]==[/tt]), nego pridruživanje ([tt]=[/tt]), pa, bez obzira što se unese, varijabli [tt]a0[/tt] se pridruži [tt]0[/tt], a vrijednost izraza [tt]a0=0[/tt] je [tt]0[/tt], što uzrokuje prekid izvršavanja petlje i u daljnjem toku programa varijabla [tt]a0[/tt] ima vrijednost [tt]0[/tt], što onda uzrokuje rušenje programa prilikom dijeljenja.

[b]Preporuka:[/b] uključite opcije [tt]-Wall[/tt] i [tt]-Wextra[/tt] prilikom kompajliranja i onda vam se ovakvo nešto neće događati (tj. kompajler će vas upozoriti na potencijalni problem).
PermutiranoPrase (napisa):
Zar nije u privitku čitav kod, tj. .c datoteka?

Sorry, nisam vidio Embarassed

Uglavnom, našao sam problem:
Kod:
do {
   printf("Unesite prvi clan niza, a0, razlicit od 0: ");
   scanf("%d", &a0);
   } while (a0=0);

Uvjet za prekid izvršavanja petlje nije testiranje jednakosti (==), nego pridruživanje (=), pa, bez obzira što se unese, varijabli a0 se pridruži 0, a vrijednost izraza a0=0 je 0, što uzrokuje prekid izvršavanja petlje i u daljnjem toku programa varijabla a0 ima vrijednost 0, što onda uzrokuje rušenje programa prilikom dijeljenja.

Preporuka: uključite opcije -Wall i -Wextra prilikom kompajliranja i onda vam se ovakvo nešto neće događati (tj. kompajler će vas upozoriti na potencijalni problem).



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan


Zadnja promjena: mdoko; 0:41 pet, 18. 11. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
spik2nick
Forumaš(ica)
Forumaš(ica)


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

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

E evo i moje rješenje fibonaccijevskog niza... Ali pošto nemamo test primjera nisam siguran jel radi točno ono što bi i trebao... Pogledajte...


[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==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]
E evo i moje rješenje fibonaccijevskog niza... Ali pošto nemamo test primjera nisam siguran jel radi točno ono što bi i trebao... Pogledajte...


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==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;
}



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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 ... 7, 8, 9 ... 17, 18, 19  Sljedeće
Stranica 8 / 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