Zadatak u C!

poruka: 18
|
čitano: 3.111
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
protjeran
offline
Zadatak u C!

Evo trebam riješiti zadatak pa ako netko zna neka napiše!? Ja nemam pojma!

Zadatak Zadatak
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: Zadatak u C!
Robi959 kaže...

Evo trebam riješiti zadatak pa ako netko zna neka napiše!? Ja nemam pojma!

Ocito onda ne razumijes sto znaci % operator.

4%3 = 1, to ti je modul, znaci vraca ostatak dijeljenja,

kad podjelis 4/3, ostane ti ostatak 1

istu tako u zadatku b, kad podjelis 64/4 = 16 i ostatak 0,

sto znaci 64%4 = 0,

 

U zadatku b, posto ti nema break naredbe nakon case, izvršiti će se svi slucajevi

tj. naredbe koje se nalaze ispod prve za koju je ispunjen uvjet, u ovom slucaju

sve ispod case 0.

 

EDIT: hahaha ipak, je 72-8 = 64.... nesto mi se pomiješalo Namigiva

All religions are the same: religion is basically guilt, with different holidays.
Poruka je uređivana zadnji put sub 23.1.2010 14:13 (drnde).
16 godina
neaktivan
offline
Zadatak u C!

Bilo bi lijepo da napišeššto točno neznaš, ovako ispada da: ili nisi porazmislio o zadatku, ili te uopće ne zanima.

 

a:

x = 4

switch (ostatak djeljenja 4 sa 3, dakle 1)

 slučaj da je ono u zagradi = 1: povećaj x za 5 i prekini switch

 slučaj da je ono u zagradi = 2: povećaj x za 7 i prekini switch

 nije li ono u zagradi 1 ili 2: povećaj x za x (i prekini switch)

 

b:

x = 72, y = 8, z = 4

switch (ostatak djeljenja (72-8) s 4, dakle 0)

 slučaj da je sadržaj zagrade = 0: uvećaj z za 1

 slučaj da je sadržaj zagrade = 1: uvećaj z za 2

 slučaj da je sadržaj zagrade = 2: uvećaj z za 3

 slučaj da je sadržaj zagrade = 3: uvećaj z za 4

 

Switch možeš shvatiti kao veoma miroljubivu i nestrogu konstrukciju. Svaki case je neka vrsta oznake, poput one za "goto". Po ulasku u switch, tvoj program će početi izvršavati linije nakon prvog odgovarajućeg "case"-a. A prekinut će switch tek kad naiđe na "break;" ili sl.

 

Dakle, možeš shvatiti "case" kao uputu gdje početi switch, i ništa više od toga.

 

Podebljao sam upravo one linije koje će doživjeti izvršenje, možda ćeš tako jasnije dokučiti.

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
2 0 hvala 0
15 godina
protjeran
offline
Zadatak u C!

Pa nerazumijem ja ništa u tome!! To ona nama zada i onda mi to moramo napisat u bilježnicu!

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Zadatak u C!

Jest da ne valja uzimati zdravo za gotovo sve što ljudi npišu ovdje, ali za koji k.. ona prima plaću ako djeci ne objasni nešto poput switch-a na satu.

dakle, robi," use i u svoje kljuse", nema druge

a koliko je trebalo itf-u da to objasni, tri minute

Poruka je uređivana zadnji put sub 23.1.2010 16:47 (Floki).
 
0 0 hvala 0
15 godina
offline
RE: Zadatak u C!

Nemaš drugo nego olovku i papir u ruke i korak po korak piši koja varijabla je na kojoj vrijednosti, do kne dođeš do kraja. Sve ti je lijepo napisao itf, samo si zapisuj :D

16 godina
neaktivan
offline
Zadatak u C!

samo mladicu nije jednostavno prolaziti red po red sa naredbama kada ne razumije što one uopće znače!

možda da uz ove informacije sa forume i bezobraznu učiteljicu proba i neku knjigu uzeti u ruke...

Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
Zadatak u C!

mala varijacija itf4n-ovog objašnjenja...

 

a)

x = 4

switch (ostatak djeljenja 4 sa 3, dakle 1)

 slučaj da je ono u zagradi = 1: povećaj x za 5 i prekini switch    // dakle, x je i dalje 4 -> 4 + 5 = 9

 slučaj da je ono u zagradi = 2: povećaj x za 7 i prekini switch

 nije li ono u zagradi 1 ili 2: povećaj x za x (i prekini switch)

 

b)

obrati pozornost na z, jer se to jedino mijenja kroz switch

x = 72, y = 8, z = 4

switch (ostatak djeljenja (72-8) s 4, dakle 0)

 slučaj da je sadržaj zagrade = 0: uvećaj z za 1    // z = 4 + 1 = 5

 slučaj da je sadržaj zagrade = 1: uvećaj z za 2    // z = 5 + 2 = 7

 slučaj da je sadržaj zagrade = 2: uvećaj z za 3    // z = 7 + 3  = 10

 slučaj da je sadržaj zagrade = 3: uvećaj z za 4    // z = 10 + 4 = 14

Faith is only fiction.
Poruka je uređivana zadnji put uto 26.1.2010 0:22 (D4RKL1NG).
 
0 0 hvala 0
15 godina
neaktivan
offline
Zadatak u C!

dopiši još sljedeći kod:

#include <stdio.h>

 

int main ()

{

(onaj tvoj kod)

printf ("%d", x);

return 0;

}

i to če ti pokazat koliko  je ono...

 

P.S. pitaj nastavnika/cu, to je uđbenik za 2 i 3 gimnazije/elektro...

thunder in my room :prijevod: Moja mama viče!92% tinejđera sluša turbo folk. Ako si ti među onih 8% koji još uvijek slušaju pravu glazbu kopiraj si ovo u potpis.Da se Facebook server sruši 90% m
Poruka je uređivana zadnji put uto 26.1.2010 15:26 (Capitan Hook).
 
0 0 hvala 0
15 godina
neaktivan
offline
Zadatak u C!

Zar samo ja vidim da na screenshotu ispod zadatka pišu i rješenja? :P

 
0 0 hvala 0
16 godina
neaktivan
offline
Zadatak u C!

Evo da ne otvaram novu temu, zanima me rješenje ovog zadatka, što vi mislite, što je točno. Zadatak glasi:

 

Ispišite vrijednosti (od izlaza prema ulazu reda) koje se nalaze u redu nakon što se obavi funkcija func. Funkcija func kao parametar prima red s vrijednostima: 1, 2, 3, 4, 5, 6, 7, 8. Funkcija dodajURed dodaje vrijednost argumenta el u red.


        void func (Red *red){
               int el;
               if (skiniIzReda(&el, red)) func(red);
               if (el % 2) dodajURed(el, red);
        }

 

Ja sam mislim da je rješenje 1 3 5 7.

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
 
0 0 hvala 0
15 godina
protjeran
offline
RE: Zadatak u C!

Znači, ako imamo red

 

1 2 3 4 5 6 7 8

 

onda ovom rekurzivnom funkcijom prvo skidamo sve elemente sa reda, i to  1, 2... 8. Nakon što se više nema što skinuti rekurzija se vraća nazad te se čitaju među-stanja i izvršava druga if naredba tj.

 

if(8%2) dodajURed(8, red);

if(7%2) dodajURed(8, red);

.

.

if(1%2) dodajURed(8, red);

 

što će biti izvršeno samo nad neparnim brojevima, pa će se polje početi puniti s 7, 5, 3, 1, a ako to ispišemo od izlaza prema ulazu dobijemo 1 3 5 7.

 

Tako da, mislim da ti je to točno ;)

16 godina
neaktivan
offline
Zadatak u C!

Točno tak i ja razmišljam. Inače, ovo je zadatak sa 2 međuispita iz ASP-a, a oni kažu da je rješenje 7,5,3,1. Sutra idem na žalbe, baš me zanima...

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
 
0 0 hvala 0
16 godina
neaktivan
offline
Zadatak u C!

Tracer, aj pomozi s ovim. Skužio sam u čem je finta, ja gledal ovak:  ulaz - red - izlaz, a mi radili, a i u tvojoj knjizi (slika 9.4.1, str. 189) izlaz je s lijeve strane, dakle: izlaz <-- red <-- ulaz. I sad, ko je tu lud? Jel je to striktno da ciklički red tak izgleda? Uh...

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
 
0 0 hvala 0
15 godina
offline
RE: Zadatak u C!

Koliko ja znam, iz reda kad skidaš skidaš s vrha, a ubacuješ od iza... dakle lijevo izlaze, desno ulaze... zamisli red u banci npr... dolaziš na kraj reda, a s vrha reda izlaziš.

Ali opet bi trebalo bit kak si napiso gore, jer će se sve samo u krug odvrtit, i s time da će samo neparni ostat.

15 godina
neaktivan
offline
RE: Zadatak u C!
1domagoj1 kaže...

Evo da ne otvaram novu temu, zanima me rješenje ovog zadatka, što vi mislite, što je točno. Zadatak glasi:

 

Ispišite vrijednosti (od izlaza prema ulazu reda) koje se nalaze u redu nakon što se obavi funkcija func. Funkcija func kao parametar prima red s vrijednostima: 1, 2, 3, 4, 5, 6, 7, 8. Funkcija dodajURed dodaje vrijednost argumenta el u red.


        void func (Red *red){
               int el;
               if (skiniIzReda(&el, red)) func(red);
               if (el % 2) dodajURed(el, red);
        }

 

Ja sam mislim da je rješenje 1 3 5 7.

Ne. Skidaš redom 1,2,3,4,5,6,7,8 i pri povratku iz najdublje rekurzije vraćaš one koji nisu dijeljivi sa 2, dakle vraćaš 7,5,3,1 i takav red bude na kraju.

15 godina
neaktivan
offline
RE: Zadatak u C!
Tracer kaže...

što će biti izvršeno samo nad neparnim brojevima, pa će se polje početi puniti s 7, 5, 3, 1, a ako to ispišemo od izlaza prema ulazu dobijemo 1 3 5 7.

 

Tako da, mislim da ti je to točno ;)

U krivu si. Ulaz u red je poslije 1. Novi element će doći iza 1. Ako vadimo elemente, prvo ćemo izvaditi 7, dakle to je izlaz.

Od izlaza prema ulazu, od 7 prema 1, dakle 7,5,3,1.

Poruka je uređivana zadnji put čet 20.5.2010 23:07 (Tom69).
15 godina
protjeran
offline
RE: Zadatak u C!
1domagoj1 kaže...

Tracer, aj pomozi s ovim. Skužio sam u čem je finta, ja gledal ovak:  ulaz - red - izlaz, a mi radili, a i u tvojoj knjizi (slika 9.4.1, str. 189) izlaz je s lijeve strane, dakle: izlaz <-- red <-- ulaz. I sad, ko je tu lud? Jel je to striktno da ciklički red tak izgleda? Uh...

Da. Tu smo izlgeda zeznuli. Sve smo dobro rješili osim što smo u glavi zamjenili ulaz i izlaz pa krivo popunili red.

 

Tom69 kaže...
Tracer kaže...

što će biti izvršeno samo nad neparnim brojevima, pa će se polje početi puniti s 7, 5, 3, 1, a ako to ispišemo od izlaza prema ulazu dobijemo 1 3 5 7.

 

Tako da, mislim da ti je to točno ;)

U krivu si. Ulaz u red je poslije 1. Novi element će doći iza 1. Ako vadimo elemente, prvo ćemo izvaditi 7, dakle to je izlaz.

Od izlaza prema ulazu, od 7 prema 1, dakle 7,5,3,1.

Točno. To sam baš upravo htio gore opisati ali je malo prekonfuzno za objasniti. Stvar je u točnom poimanju izlaza i ulaza u ovom zadatku.

Poruka je uređivana zadnji put čet 20.5.2010 23:12 (Tracer).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice