Sada je: 29 ožu 2024, 07:13.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Slamd64 je napisao/la:Evo jedan ispitni. Napisati funkciju i program MAX_ELEMENT. Inače je za C++, ali ne vidim razloga zašto ne bi moglo i za C.
Probaj naći ovu zbirku. http://books.google.ba/books/about/Zbirka_riješenih_zadataka_iz_C_programs.html?id=ABUhKAAACAAJ&redir_esc=y

Budem stavio još neke stvari.


Gesendet von meinem MT11i mit Tapatalk 2


cekaj, kaj je zadatak na kraju?
stefan je napisao/la:tu mač gemišta

To understand recursion, you must first understand recursion.
Avatar
Postovi: 1536
Postovi: 1536
Pridružen/a: 22 tra 2012, 08:55
Lokacija: ForHill Croatia
Podijelio/la zahvalu: 20 puta
Primio/la zahvalu: 26 puta
Spol: M
OS: eOS Luna
Zadatak je napisati funkciju i program koji traži maksimalan element.

Gesendet von meinem MT11i mit Tapatalk 2
Slamd64
Slamd64
Evo nekih zadataka koje sam imao na faksu (uvod u programiranje)

Napisati program koji uneseni decimalni broj pretvara u binarni.
Napisati program koji ispisuje sve primarne brojeve od 1 do 1000.
Napisati program koji ispisuje fibonacijeve brojeve od 1 do 100.
Napisati program koji vrsi zaokruzivanje brojeva. Korisnik unese 4.5 program ispise 5. 4.1 ispise 4
Postovi: 248
Postovi: 248
Pridružen/a: 07 lip 2009, 12:55
Podijelio/la zahvalu: 16 puta
Primio/la zahvalu: 5 puta
Spol: M
Medojedni jazavac je napisao/la:evo ti resenje mog zadatka, ak te slucajno zanima

Kod: Označi sve
  1 #include <stdio.h>
  2
  3 int main()
  4 {
  5     unsigned short broj;
  6     scanf("%d", &broj);
  7
  8     int i;
  9     for(i = sizeof(broj) * 8; i >= 0; --i) {
 10         printf("%d", (broj >> i) & 1);
 11     }
 12     return 0;
 13 }
                   



Ne bavim se baš sa C om, ali jasno mi je ta je šta u kodu. Jedna stvar mi nikako ne ide u glavu: zašto se kod i ovakvih primjera main (ili bilo koja druga funkcija) deklarira u int i onda stavlja return 0 na kraj. Šta je nebi bilo lakše deklarirati u void i zdravo...
Prosvijetlite me...
Avatar
Postovi: 317
Postovi: 317
Pridružen/a: 02 svi 2011, 23:24
Lokacija: Ri
Podijelio/la zahvalu: 11 puta
Primio/la zahvalu: 1 puta
Spol: M
OS: Debian LXQt
0 znači da je program završio bez grešaka. To je vrijednost koju predaješ OS-u, odnosno programu koji je pozvao tvoj program. Bilo koja druga vrijednost znači da vraćaš grešku, a na pozivatelju je kako će obraditi vraćenu vrijednost.
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Avatar
Moderator
Postovi: 3293
Moderator
Postovi: 3293
Pridružen/a: 01 pro 2010, 23:50
Lokacija: Nova Gradiška
Podijelio/la zahvalu: 122 puta
Primio/la zahvalu: 157 puta
OS: Arch/KDE, Debian/Armbian
Ne mora značiti grešku. Return 1 vraća grešku, ali npr return a+b može vraćati neku vrijednost funkciji koja ga je pozvala.

Gesendet von meinem MT11i mit Tapatalk 2
Slamd64
Slamd64
Ako baš tako hoćeš, onda ni return 1 ne vraća grešku, nego int vrijednost 1. Program će se uredno iskompajlirati i izvršiti. Druga stvar je uobičajena praksa, dogovor, standard, definirane konstante ili kako će neki program ili skripta pozivatelj interpretirati vraćenu vrijednost.

EDIT1: ovdje je riječ o return iz main()
EDIT2: bilo koja druga funkcija vraća tip koji želiš da vraća (ili može biti void), ne mora biti int
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Avatar
Moderator
Postovi: 3293
Moderator
Postovi: 3293
Pridružen/a: 01 pro 2010, 23:50
Lokacija: Nova Gradiška
Podijelio/la zahvalu: 122 puta
Primio/la zahvalu: 157 puta
OS: Arch/KDE, Debian/Armbian
juzer je napisao/la:Ne bavim se baš sa C om, ali jasno mi je ta je šta u kodu. Jedna stvar mi nikako ne ide u glavu: zašto se kod i ovakvih primjera main (ili bilo koja druga funkcija) deklarira u int i onda stavlja return 0 na kraj. Šta je nebi bilo lakše deklarirati u void i zdravo...
Prosvijetlite me...


Kompajler će ti vjerojatno sam ubaciti (ako si zaboravio dodati return 0) tu liniju u kod jer ne vraćanje vrijednosti na izlasku iz programa može uzrokovati kojekakvo nepredvidivo ponašanje - ovisno o okruženju gdje se pokreće.

Vidi ovdje za bolje i detaljnije objašnjenje:
http://users.aber.ac.uk/auj/voidmain.cgi
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Moj najdrazi:
Napisati program koji printa sam svoj source code, tako da kad kompajliras taj kod koji printa dobijes isti program.
"Simplicity is prerequisite for reliability." Edsger W. Dijkstra
Avatar
Postovi: 98
Postovi: 98
Pridružen/a: 29 stu 2012, 02:32
Lokacija: $PWD
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 2 puta
OS: p9
4ndY je napisao/la:
Kompajler će ti vjerojatno sam ubaciti (ako si zaboravio dodati return 0) tu liniju u kod jer ne vraćanje vrijednosti na izlasku iz programa može uzrokovati kojekakvo nepredvidivo ponašanje - ovisno o okruženju gdje se pokreće.

Vidi ovdje za bolje i detaljnije objašnjenje:
http://users.aber.ac.uk/auj/voidmain.cgi



link mi je lijepo objasnio...
Znam da je u Javi redovna mantra public static void main(String args[]), a i u C++ sam uglavnom main deklarirao kao void (istina, žena koja me učila C++ je totalna kokoš i ništa joj ne vjerujem)
Hvala!
Avatar
Postovi: 317
Postovi: 317
Pridružen/a: 02 svi 2011, 23:24
Lokacija: Ri
Podijelio/la zahvalu: 11 puta
Primio/la zahvalu: 1 puta
Spol: M
OS: Debian LXQt

Na mreži
Trenutno korisnika/ca: / i 10 gostiju.