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

nejasnoća vezana za code blocks
WWW:

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


Pridružen/a: 11. 10. 2011. (17:06:13)
Postovi: (79)16
Sarma = la pohva - posuda
-24 = 9 - 33

PostPostano: 1:41 pet, 21. 10. 2011    Naslov: nejasnoća vezana za code blocks Citirajte i odgovorite

#include<stdio.h>
int main(void)
{
float x,y,z,f;
scanf("%g%g%g",&x,&y,&z);
f=abs(z);
printf("%g", f);
return 0;
}

zadatak je inače teži, al ne mogu ga riješit jer mi kad pokrenem taj teži zadatak program izbaci isto kao i za ovaj: 0 -.- ...moje je pitanje: zašto meni code blocks kada ja pokrenem program i upišem varijable npr 1,2,3 program ispiše 0, umjesto 3???greška je vjerojatno glupost neka, al ja se već sat vremena mučim s tim, i ne mogu naći razlog zašto je tomu tako
#include<stdio.h>
int main(void)
{
float x,y,z,f;
scanf("%g%g%g",&x,&y,&z);
f=abs(z);
printf("%g", f);
return 0;
}

zadatak je inače teži, al ne mogu ga riješit jer mi kad pokrenem taj teži zadatak program izbaci isto kao i za ovaj: 0 -.- ...moje je pitanje: zašto meni code blocks kada ja pokrenem program i upišem varijable npr 1,2,3 program ispiše 0, umjesto 3???greška je vjerojatno glupost neka, al ja se već sat vremena mučim s tim, i ne mogu naći razlog zašto je tomu tako


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


Pridružen/a: 16. 03. 2011. (09:21:40)
Postovi: (2C)16
Sarma = la pohva - posuda
-3 = 20 - 23
Lokacija: Zagreb

PostPostano: 7:03 pet, 21. 10. 2011    Naslov: Re: nejasnoća vezana za code blocks Citirajte i odgovorite

[quote="malalodacha"]#include<stdio.h>
int main(void)
{
float x,y,z,f;
scanf("%g%g%g",&x,&y,&z);
f=abs(z);
printf("%g", f);
return 0;
}[/quote]Probaj stavljati sve ovo u /code/ blokove. Zaista je ljepse, iako nema veselih boja, barem ima font fiksne sirine.

[quote]zadatak je inače teži,[/quote]Koji zadatak, ne vidim nikakav tekst?

[quote]al ne mogu ga riješit jer mi kad pokrenem taj teži zadatak program izbaci isto kao i za ovaj: 0 -.- ...moje je pitanje: zašto meni code blocks kada ja pokrenem program i upišem varijable npr 1,2,3 program ispiše 0, umjesto 3???[/quote]

Za pocetak, ne znam u cemu programiras, no u slucaju da si pocetnik, omoguci u compileru prikazivanje svih gresaka (iako su tvoje ocigledne).

Prije svega, implicitno si deklarirao funkciju abs() - ona se nalazi u stdlib.h kojeg ti nemas includeanog.

Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.

Zadatak mozes rijesiti tako da napises nesto ovako:

[code:1]scanf("%g",&x);
scanf("%g",&y);
scanf("%g",&z);[/code:1]

ili nestot tipa ovako:

[code:1]scanf("%g,%g,%g",&x,&y,&z);[/code:1]

Kako si inace zamislio da ti scanf() raspoznaje broj "23", "43" i "-87" ako ih zapises kao 2343-87, kako si naveo u svom kodu?
malalodacha (napisa):
#include<stdio.h>
int main(void)
{
float x,y,z,f;
scanf("%g%g%g",&x,&y,&z);
f=abs(z);
printf("%g", f);
return 0;
}
Probaj stavljati sve ovo u /code/ blokove. Zaista je ljepse, iako nema veselih boja, barem ima font fiksne sirine.

Citat:
zadatak je inače teži,
Koji zadatak, ne vidim nikakav tekst?

Citat:
al ne mogu ga riješit jer mi kad pokrenem taj teži zadatak program izbaci isto kao i za ovaj: 0 -.- ...moje je pitanje: zašto meni code blocks kada ja pokrenem program i upišem varijable npr 1,2,3 program ispiše 0, umjesto 3???


Za pocetak, ne znam u cemu programiras, no u slucaju da si pocetnik, omoguci u compileru prikazivanje svih gresaka (iako su tvoje ocigledne).

Prije svega, implicitno si deklarirao funkciju abs() - ona se nalazi u stdlib.h kojeg ti nemas includeanog.

Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.

Zadatak mozes rijesiti tako da napises nesto ovako:

Kod:
scanf("%g",&x);
scanf("%g",&y);
scanf("%g",&z);


ili nestot tipa ovako:

Kod:
scanf("%g,%g,%g",&x,&y,&z);


Kako si inace zamislio da ti scanf() raspoznaje broj "23", "43" i "-87" ako ih zapises kao 2343-87, kako si naveo u svom kodu?



_________________
Matematika
Dijeli ljude na dvije grupe. One kojima nije jasna i one kojima nije jasno kako ovim prvima nije jasna.
§ https://www.pci-z.com/ §
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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: 8:21 pet, 21. 10. 2011    Naslov: Re: nejasnoća vezana za code blocks Citirajte i odgovorite

[quote="bbanelli"]
Prije svega, implicitno si deklarirao funkciju abs() - ona se nalazi u stdlib.h kojeg ti nemas includeanog.
[/quote]
Točno, no dodatni problem je što [tt]abs[/tt] prima i vraća [tt]int[/tt], a kolega radi s floatovima, dakle treba mu [tt]fabs[/tt] koji prima i vraća [tt]double[/tt]. [tt]fabs[/tt] je deklariran u [tt]math.h[/tt]

[quote]
Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.
[/quote]
Na što da ih upozorimo? Pa radimo u C-u, što drugo da koristimo za unos podataka? (Istina scanf može biti jako problematičan, ali raspravi o tome sigurno nije mjesto na [b]uvodnom[/b] kursu programiranja.)

[quote]
Zadatak mozes rijesiti tako da napises nesto ovako:

[code:1]scanf("%g",&x);
scanf("%g",&y);
scanf("%g",&z);[/code:1]

ili nestot tipa ovako:

[code:1]scanf("%g,%g,%g",&x,&y,&z);[/code:1]

Kako si inace zamislio da ti scanf() raspoznaje broj "23", "43" i "-87" ako ih zapises kao 2343-87, kako si naveo u svom kodu?[/quote]
Njegov scanf uredno radi, naime [tt]scanf("%g%g%g",&x,&y,&z);[/tt] očekuje unos tri floata odvojena razmacima. Slažem se da tako pisan poziv [tt]scanf[/tt]-a nije baš najčitljiviji, ali nije dobro napadati čovjeka i govoriti mu da takav poziv ne radi, kad radi točno ono što je čovjek i očekivao.
bbanelli (napisa):

Prije svega, implicitno si deklarirao funkciju abs() - ona se nalazi u stdlib.h kojeg ti nemas includeanog.

Točno, no dodatni problem je što abs prima i vraća int, a kolega radi s floatovima, dakle treba mu fabs koji prima i vraća double. fabs je deklariran u math.h

Citat:

Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.

Na što da ih upozorimo? Pa radimo u C-u, što drugo da koristimo za unos podataka? (Istina scanf može biti jako problematičan, ali raspravi o tome sigurno nije mjesto na uvodnom kursu programiranja.)

Citat:

Zadatak mozes rijesiti tako da napises nesto ovako:

Kod:
scanf("%g",&x);
scanf("%g",&y);
scanf("%g",&z);


ili nestot tipa ovako:

Kod:
scanf("%g,%g,%g",&x,&y,&z);


Kako si inace zamislio da ti scanf() raspoznaje broj "23", "43" i "-87" ako ih zapises kao 2343-87, kako si naveo u svom kodu?

Njegov scanf uredno radi, naime scanf("%g%g%g",&x,&y,&z); očekuje unos tri floata odvojena razmacima. Slažem se da tako pisan poziv scanf-a nije baš najčitljiviji, ali nije dobro napadati čovjeka i govoriti mu da takav poziv ne radi, kad radi točno ono što je čovjek i očekivao.



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


Pridružen/a: 16. 03. 2011. (09:21:40)
Postovi: (2C)16
Sarma = la pohva - posuda
-3 = 20 - 23
Lokacija: Zagreb

PostPostano: 10:46 pet, 21. 10. 2011    Naslov: Re: nejasnoća vezana za code blocks Citirajte i odgovorite

[quote="mdoko"][quote]
Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.[/quote]
Na što da ih upozorimo? Pa radimo u C-u, što drugo da koristimo za unos podataka?[/quote]fgets/getline i sscanf, recimo.
[quote](Istina scanf može biti jako problematičan, ali raspravi o tome sigurno nije mjesto na [b]uvodnom[/b] kursu programiranja.)[/quote]Ne da "moze biti" nego *jest* problematican.

Sada ce rant o tome da ne znaju koristiti pointere, ali ne znaju ih koristiti i ovako i onako, pa ne boli da "nauce napamet" iz pocetka raditi kako spada.

[quote]Njegov scanf uredno radi, naime [tt]scanf("%g%g%g",&x,&y,&z);[/tt] očekuje unos tri floata odvojena razmacima.[/quote]Da, ocekuje unos tri ispravno formatirana znaka odvojena definiranim white-spaceom (' ', \t, \n, \r... - zavisi od standarda i kompajlera). Nekako imam osjecaj da po njegovom pitanju koda to ili nije savladao, ili nikada nije saznao, zato sam i stavio jasniji "zapis".

[quote]Slažem se da tako pisan poziv [tt]scanf[/tt]-a nije baš najčitljiviji, ali nije dobro napadati čovjeka i govoriti mu da takav poziv ne radi, kad radi točno ono što je čovjek i očekivao.[/quote]Bas suprotno - poziv ce raditi tocno to sto je napisao, ali to moze biti daleko od onoga sto je ocekivao. Znas kako ide - racunala gotovo uvijek rade ono sto im se kaze, ali rijetko kad ono sto korisnik zapravo zeli. :)

Primjera imas na bacanje, od onih najtrivijalnijih, do onih malo zabasurenijih, to znas i sam. No problem je sto ljudi na stvarima tipa scanf i system("pause") i slicne glupavoce zapravo budu zatupljeni i totalno promasuju poante.
mdoko (napisa):
Citat:

Takodjer, koristis scanf(), koji je *zao*, i valjda (nadam se) su vas to opetovano upozoravali na vjezbama/predavanjima.

Na što da ih upozorimo? Pa radimo u C-u, što drugo da koristimo za unos podataka?
fgets/getline i sscanf, recimo.
Citat:
(Istina scanf može biti jako problematičan, ali raspravi o tome sigurno nije mjesto na uvodnom kursu programiranja.)
Ne da "moze biti" nego *jest* problematican.

Sada ce rant o tome da ne znaju koristiti pointere, ali ne znaju ih koristiti i ovako i onako, pa ne boli da "nauce napamet" iz pocetka raditi kako spada.

Citat:
Njegov scanf uredno radi, naime scanf("%g%g%g",&x,&y,&z); očekuje unos tri floata odvojena razmacima.
Da, ocekuje unos tri ispravno formatirana znaka odvojena definiranim white-spaceom (' ', \t, \n, \r... - zavisi od standarda i kompajlera). Nekako imam osjecaj da po njegovom pitanju koda to ili nije savladao, ili nikada nije saznao, zato sam i stavio jasniji "zapis".

Citat:
Slažem se da tako pisan poziv scanf-a nije baš najčitljiviji, ali nije dobro napadati čovjeka i govoriti mu da takav poziv ne radi, kad radi točno ono što je čovjek i očekivao.
Bas suprotno - poziv ce raditi tocno to sto je napisao, ali to moze biti daleko od onoga sto je ocekivao. Znas kako ide - racunala gotovo uvijek rade ono sto im se kaze, ali rijetko kad ono sto korisnik zapravo zeli. Smile

Primjera imas na bacanje, od onih najtrivijalnijih, do onih malo zabasurenijih, to znas i sam. No problem je sto ljudi na stvarima tipa scanf i system("pause") i slicne glupavoce zapravo budu zatupljeni i totalno promasuju poante.



_________________
Matematika
Dijeli ljude na dvije grupe. One kojima nije jasna i one kojima nije jasno kako ovim prvima nije jasna.
§ https://www.pci-z.com/ §
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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.
Stranica 1 / 1.

 
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