Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
tomitza Forumaš(ica)
Pridružen/a: 28. 11. 2008. (19:50:48) Postovi: (58)16
|
|
[Vrh] |
|
Atomised Forumaš(ica)
Pridružen/a: 04. 09. 2007. (15:33:59) Postovi: (399)16
Lokacija: Exotica
|
|
[Vrh] |
|
Spectre Forumaš(ica)
Pridružen/a: 02. 10. 2006. (16:58:05) Postovi: (167)16
Spol:
|
Postano: 23:05 uto, 3. 3. 2009 Naslov: Re: prakticni kolokvij 08/09 |
|
|
[quote="tomitza"]Zanima me koliko je to slozeno i kad mozemo ocekivati prvi, da znam kad da se pocnem spremat :wink:[/quote]
To ti je uglavnom gradivo prvog semestra, osim zadataka s matricama koji se ne zadaju na 1. praktičnom. Link ti je dan gore. Imaš sat vremena za napisati program, mora ti se komplajlirati bez greške, dati pokrenuti i naravno, izbaciti točan rezultat za bilo koji unos. Kad misliš da si gotov, pozoveš asistenta, on ti kaže što trebaš unijeti, ako izbaci točan rezultat prošao si. Ako ne, možeš slobodno dalje modificirati program. Uglavnom su ljudi gotovi za 20-40 min.
Termin prvih praktičnih se još ne zna, no biti će prije 1. kolokvija.
Sretno! :lol:
tomitza (napisa): | Zanima me koliko je to slozeno i kad mozemo ocekivati prvi, da znam kad da se pocnem spremat |
To ti je uglavnom gradivo prvog semestra, osim zadataka s matricama koji se ne zadaju na 1. praktičnom. Link ti je dan gore. Imaš sat vremena za napisati program, mora ti se komplajlirati bez greške, dati pokrenuti i naravno, izbaciti točan rezultat za bilo koji unos. Kad misliš da si gotov, pozoveš asistenta, on ti kaže što trebaš unijeti, ako izbaci točan rezultat prošao si. Ako ne, možeš slobodno dalje modificirati program. Uglavnom su ljudi gotovi za 20-40 min.
Termin prvih praktičnih se još ne zna, no biti će prije 1. kolokvija.
Sretno!
_________________ Cry havoc, and let loose the dogs of war!
|
|
[Vrh] |
|
tomitza Forumaš(ica)
Pridružen/a: 28. 11. 2008. (19:50:48) Postovi: (58)16
|
|
[Vrh] |
|
Gino Forumaš(ica)
Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
Postano: 15:53 sri, 11. 3. 2009 Naslov: |
|
|
imam par pitanja u vezi sa nekim zadacima pa ako netko moze pomoc...
[quote]Zadatak 10:
Kazemo da su prirodni brojevi a i b prijateljski ako je zbroj svih djelitelja broja a jednak broju b, a zbroj svih djelitelja broja b
jednak broju a. Napisite program koji ucitava dva prirodna broja m i n, m < n, i ispisuje sve parove prijateljskih brojeva (a, b)
takvih da je m ≤ a, b ≤ n. Na primjer, ako je m = 100 i n = 300, onda vas program treba ispisati a = 220, b = 284 jer su to
jedini prijateljski brojevi izmedu 100 i 300.[/quote]
ovjde vise napomena nego pitanje... da se ispravi, ja sam ipak rjesio kako pise pa nije radilo...
trebalo bi bit: zbroj svih djelitelja broja a, bez a, jednak broju b, a zbroj svih djelitelja broja b, bez b, jednak broju a
(to je dosta ocito da inace ne radi... al nekad osoba ne razmislja, onda ne kuzi di je fulala...)
i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220
[quote]Zadatak 11:
Napisite program koji ucitava dva prirodni broj n, n < 10 koji predstavlja duljinu niza, te niz prirodnih brojeva a1, a2, . . . , an,
Svi elementi niza ce biti manji ili jednaki 100 (ne treba provjeravati). Program treba ispisati sve brojeve koji se mogu prikazati
kao suma tri clana niza sa razlicitim indexima. Svaki od brojeva treba biti ispisan tocno jednom; brojevi trebaju biti ispisani
uzlazno po velicini! Na primjer, ako je n = 5, a ucitani niz brojeva je (3, 1, 10, 2, 1), onda vas program treba ispisati brojeve
4, 5, 6, 12, 13, 14, 15.[/quote]
dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit
[quote]Zadatak 23:
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.[/quote]
ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12
[quote]Zadatak 26:
Napisite program koji ucitava dva cijela broja n1 i n2 (n1 ≤ 10, n2 ≤ 10), a zatim ucitava n1 binarnih znamenki prvog broja i n2
binarnih znamenki drugog broja. Znamenke se unose pocevsi od krajnje lijeve. Program treba ispisati binarni broj koji nastaje
zbrajanjem navedenih brojeva. Uputa: Koristiti pomoni niz i varijablu za prijenos prilikom zbrajanja pojedinih znamenki.[/quote]
neznam niti dal sam skuzio zadatak dakle, ja ucitam n1:
-2 gotov sam, jer sta to znaci ucitat njegovih -2-ije znamenke
pa recimo da ucitam 5(zanemarim n2 sad)
sad ovaj dio "[i]ucitava[/i] 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio....
[quote]Zadatak 28, Zadatak 32:
da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu[/quote]zaista se ucitava niz cijelih brojeva?
[quote]Zadatak 37:
Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu.[/quote]kako to zaokruzit?
[quote]Zadatak 41(46), Zadatak 42 [/quote] ako neko zna...
mislim da je to sve...
imam par pitanja u vezi sa nekim zadacima pa ako netko moze pomoc...
Citat: | Zadatak 10:
Kazemo da su prirodni brojevi a i b prijateljski ako je zbroj svih djelitelja broja a jednak broju b, a zbroj svih djelitelja broja b
jednak broju a. Napisite program koji ucitava dva prirodna broja m i n, m < n, i ispisuje sve parove prijateljskih brojeva (a, b)
takvih da je m ≤ a, b ≤ n. Na primjer, ako je m = 100 i n = 300, onda vas program treba ispisati a = 220, b = 284 jer su to
jedini prijateljski brojevi izmedu 100 i 300. |
ovjde vise napomena nego pitanje... da se ispravi, ja sam ipak rjesio kako pise pa nije radilo...
trebalo bi bit: zbroj svih djelitelja broja a, bez a, jednak broju b, a zbroj svih djelitelja broja b, bez b, jednak broju a
(to je dosta ocito da inace ne radi... al nekad osoba ne razmislja, onda ne kuzi di je fulala...)
i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220
Citat: | Zadatak 11:
Napisite program koji ucitava dva prirodni broj n, n < 10 koji predstavlja duljinu niza, te niz prirodnih brojeva a1, a2, . . . , an,
Svi elementi niza ce biti manji ili jednaki 100 (ne treba provjeravati). Program treba ispisati sve brojeve koji se mogu prikazati
kao suma tri clana niza sa razlicitim indexima. Svaki od brojeva treba biti ispisan tocno jednom; brojevi trebaju biti ispisani
uzlazno po velicini! Na primjer, ako je n = 5, a ucitani niz brojeva je (3, 1, 10, 2, 1), onda vas program treba ispisati brojeve
4, 5, 6, 12, 13, 14, 15. |
dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit
Citat: | Zadatak 23:
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. |
ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12
Citat: | Zadatak 26:
Napisite program koji ucitava dva cijela broja n1 i n2 (n1 ≤ 10, n2 ≤ 10), a zatim ucitava n1 binarnih znamenki prvog broja i n2
binarnih znamenki drugog broja. Znamenke se unose pocevsi od krajnje lijeve. Program treba ispisati binarni broj koji nastaje
zbrajanjem navedenih brojeva. Uputa: Koristiti pomoni niz i varijablu za prijenos prilikom zbrajanja pojedinih znamenki. |
neznam niti dal sam skuzio zadatak dakle, ja ucitam n1:
-2 gotov sam, jer sta to znaci ucitat njegovih -2-ije znamenke
pa recimo da ucitam 5(zanemarim n2 sad)
sad ovaj dio "ucitava 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio....
Citat: | Zadatak 28, Zadatak 32:
da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu | zaista se ucitava niz cijelih brojeva?
Citat: | Zadatak 37:
Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu. | kako to zaokruzit?
Citat: | Zadatak 41(46), Zadatak 42 | ako neko zna...
mislim da je to sve...
_________________ Mario Berljafa
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 16:41 sri, 11. 3. 2009 Naslov: |
|
|
Zadatak 10:
[quote="Gino"]trebalo bi bit: zbroj svih djelitelja broja a, bez a, jednak broju b, a zbroj svih djelitelja broja b, bez b, jednak broju a
(to je dosta ocito da inace ne radi... al nekad osoba ne razmislja, onda ne kuzi di je fulala...)[/quote]
I zato je korisno da osobi ostavimo za razmisljanje. :D Evo, sredih. ;)
[quote="Gino"]i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220[/quote]
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". :)
Zadatak 11:
[quote="Gino"]dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit[/quote]
Smije se, ali bez uvodjenja novih ogranicenja na rjesenje. :) A kako rijesiti... tri [tt]for()[/tt]-petlje jedna u drugoj, svaki index krene iza prethodnog (osim prvog koji, ocito, krene od nule). 8)
Zadatak 23:
[quote="Gino"]ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12[/quote]
U cemu je problem pomnoziti s 10000 i onda dijeliti s 10 dok god ide? :-k Usput, u ovom zadatku ima sitna numericka zackuljica na koju su nastavnici upozoravali na predavanjima, a odnosi se na to da nece bilo koji primjeri funkcionirati kako ste zamislili. :)
Tko zna stringove, naravno, smije i tako. 8)
Zadatak 26:
[quote="Gino"]sad ovaj dio "[i]ucitava[/i] 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio....[/quote]
Jesi. :) Ucitas [tt]n1=5[/tt] i onda ucitas 5 binarnih znamenaka, te njih sklopis u jedan broj i to je ono sto zovemo "prvi broj". :)
Zadatak 28, Zadatak 32:
[quote="Gino"]da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva?[/quote]
Zasto je to cudno? :grebgreb:
Zadatak 37:
[quote="Gino"]Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu.
kako to zaokruzit?[/quote]
Pomnozis sa 100, zaokruzis kako se inace zaokruzuje i onda natrag podijelis sa 100. 8)
[quote="Gino"]Zadatak 41(46), Zadatak 42
ako neko zna...[/quote]
Igranje s [tt]for()[/tt]-petljama; ako znas matrice, smijes si pomoci. 8) Ponesto od toga (mislim 42) sam rijesio na Forumu prosle godine. :)
Zadatak 10:
Gino (napisa): | trebalo bi bit: zbroj svih djelitelja broja a, bez a, jednak broju b, a zbroj svih djelitelja broja b, bez b, jednak broju a
(to je dosta ocito da inace ne radi... al nekad osoba ne razmislja, onda ne kuzi di je fulala...) |
I zato je korisno da osobi ostavimo za razmisljanje. Evo, sredih.
Gino (napisa): | i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220 |
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom".
Zadatak 11:
Gino (napisa): | dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit |
Smije se, ali bez uvodjenja novih ogranicenja na rjesenje. A kako rijesiti... tri for()-petlje jedna u drugoj, svaki index krene iza prethodnog (osim prvog koji, ocito, krene od nule).
Zadatak 23:
Gino (napisa): | ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12 |
U cemu je problem pomnoziti s 10000 i onda dijeliti s 10 dok god ide? Usput, u ovom zadatku ima sitna numericka zackuljica na koju su nastavnici upozoravali na predavanjima, a odnosi se na to da nece bilo koji primjeri funkcionirati kako ste zamislili.
Tko zna stringove, naravno, smije i tako.
Zadatak 26:
Gino (napisa): | sad ovaj dio "ucitava 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio.... |
Jesi. Ucitas n1=5 i onda ucitas 5 binarnih znamenaka, te njih sklopis u jedan broj i to je ono sto zovemo "prvi broj".
Zadatak 28, Zadatak 32:
Gino (napisa): | da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva? |
Zasto je to cudno?
Zadatak 37:
Gino (napisa): | Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu.
kako to zaokruzit? |
Pomnozis sa 100, zaokruzis kako se inace zaokruzuje i onda natrag podijelis sa 100.
Gino (napisa): | Zadatak 41(46), Zadatak 42
ako neko zna... |
Igranje s for()-petljama; ako znas matrice, smijes si pomoci. Ponesto od toga (mislim 42) sam rijesio na Forumu prosle godine.
_________________ 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] |
|
JANKRI Forumaš(ica)
Pridružen/a: 10. 07. 2008. (02:30:58) Postovi: (10F)16
Spol:
Lokacija: Zagreb
|
Postano: 16:51 sri, 11. 3. 2009 Naslov: |
|
|
[quote="Gino"]imam par pitanja u vezi sa nekim zadacima pa ako netko moze pomoc...[/quote]
Probati ću ja dati par svojih (ne nužno dobrih) ideja. :)
[quote="Gino"][quote]Zadatak 11:
Napisite program koji ucitava dva prirodni broj n, n < 10 koji predstavlja duljinu niza, te niz prirodnih brojeva a1, a2, . . . , an,
Svi elementi niza ce biti manji ili jednaki 100 (ne treba provjeravati). Program treba ispisati sve brojeve koji se mogu prikazati
kao suma tri clana niza sa razlicitim indexima. Svaki od brojeva treba biti ispisan tocno jednom; brojevi trebaju biti ispisani
uzlazno po velicini! Na primjer, ako je n = 5, a ucitani niz brojeva je (3, 1, 10, 2, 1), onda vas program treba ispisati brojeve
4, 5, 6, 12, 13, 14, 15.[/quote]
dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit[/quote]
Ne piše da ne smiješ korisiti pomoćni niz, ali može se bez njega. Sortiraš dobiveni niz uzlazno. Te zatim pogledaš sve moguće sume (nakon sortiranja) ai + aj + ak, gdje je i<j<k svi iz {1,...,n}. Gledaš ih naravno "logičnim" redom, dakle prvo a1+a2+a3, pa a1+a2+a4, itd. sve do a(n-2)+a(n-1)+an. Sumu ispišeš ako je različita od prethodno ispisanog broja (sigurno će biti veća ili jednaka, jer je niz a sortiran uzlano), to bi trebalo biti to :).
[quote="Gino"][quote]Zadatak 23:
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.[/quote]
ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12[/quote]
Unešeni broj pomnožiš s 10000 i pretvoriš ga u int (stat će zbog uvjeta zadatka), odstraniš mu sve 0 s kraja i pamtiš koliko si ih odstranio (odstraniš ih maksimalno 4). Dobiješ broj n. Ukoliko si odstranio 4 nule ispišeš
[code:1]printf("0.%d\n", n);[/code:1]
Ukoliko si odstranio manje od 4 nule ispišeš
[code:1]printf("%d.%d\n", n%k, n/k);[/code:1]
gdje je k=10 na (4 - koliko si nula odstranio)
[quote="Gino"][quote]Zadatak 26:
Napisite program koji ucitava dva cijela broja n1 i n2 (n1 ≤ 10, n2 ≤ 10), a zatim ucitava n1 binarnih znamenki prvog broja i n2
binarnih znamenki drugog broja. Znamenke se unose pocevsi od krajnje lijeve. Program treba ispisati binarni broj koji nastaje
zbrajanjem navedenih brojeva. Uputa: Koristiti pomoni niz i varijablu za prijenos prilikom zbrajanja pojedinih znamenki.[/quote]
neznam niti dal sam skuzio zadatak dakle, ja ucitam n1:
-2 gotov sam, jer sta to znaci ucitat njegovih -2-ije znamenke
pa recimo da ucitam 5(zanemarim n2 sad)
sad ovaj dio "[i]ucitava[/i] 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio....[/quote]
Nemoj toliko cjepidlačit. :P :D
Dakle, n1 i n2 su ti prirodni brojevi (ako nisu, nema smisla), od kojih ti n1 govori koliko znamenaka u binarnom prikazu ima prvi (neki) broj, a n2 koliko drugi. Ti zatim moraš zbrojiti prvi i drugi broj (ne misli se na n1 i n2), nego na neka dva broja od kojih prvi ima n1 znamenki u bazi 2, a drugi n2. Te ispisati rezultat isto u bazi 2.
[quote="Gino"][quote]Zadatak 28, Zadatak 32:
da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu[/quote]zaista se ucitava niz cijelih brojeva?[/quote]
Mislim da se učitava niz prirodnih brojeva.
[quote="Gino"][quote]Zadatak 37:
Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu.[/quote]kako to zaokruzit?[/quote]
Pomnoži svaki unešeni broj sa 100, zatim mu dodaj 0.5 (da zaokruživanje bude točno) i pretvori u int, sumiraj to (u int) i na kraju ispiši (float)suma/100
[quote="Gino"][quote]Zadatak 41(46), Zadatak 42 [/quote] ako neko zna...[/quote]
41. i 46., su isti, ono što su u 41. razmaci, to su u 46. točkice :)
Moja ideja za 41. (mislim i nadam se da postoji i bolja). Uvedemo koordinatni sustav tako da je ishodište u centru najvećeg pravokutnika, tj. onog m x n i da sve točke (u kojima će biti ili * ili razmak) imaju cjelobrojne koordinate. Sad primijetimo da je sve lijepo simetrično, te ako znamo popuniti gornji lijevi kvadrant onda znamo i preostala 3.
Sada, uvedimo koordinatni sustav na ispisu, dakle, gornji lijevi kut (prvo mjesto) je (1, 1), drugo mjesto u prvom redu je (1,2) itd. Sada primijetimo da u "prvom kvadrantu" vrijedi pravilo, ako su obe koordinate neparne na to mjesto ide *, ako su obje parne na to mjesto ide razmak, ako je prva koordinata neparna, a druga parna te ako je prva veća od druge onda na to mjesto dolazi razmak itd...
Naravno, potrebno je još obratiti posebnu pažnju na parnost brojeva m i n.
Ne mogu bolje objasniti, ali evo mog koda (za koji mislim da radi :D), nadam se da će pomoći :)
[code:1]
#include<stdio.h>
void ispis(int x, int y)
{
if(x%2)
{
if(y%2) printf("*");
else if(x>y) printf(" ");
else printf("*");
}
else
{
if(!(y%2)) printf(" ");
else if(x>y) printf("*");
else printf(" ");
}
}
int main(void)
{
int m, n, i, j, k, l;
scanf("%d%d", &m, &n);
for(i=1; i<=m/2; ++i)
{
for(j=1; j<=n/2; ++j) ispis(i,j);
if(n%2)
{
l=n/2+1;
if(i>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(i,l);
}
for(j=n/2; j>=1; --j) ispis(i,j);
printf("\n");
}
if(m%2)
{
k=m/2+1;
for(j=1; j<=n/2; ++j) ispis(k,j);
if(n%2)
{
l=n/2+1;
if(k>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(k,l);
}
for(j=n/2; j>=1; --j) ispis(k,j);
printf("\n");
}
for(i=m/2; i>=1; --i)
{
for(j=1; j<=n/2; ++j) ispis(i,j);
if(n%2)
{
l=n/2+1;
if(i>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(i,l);
}
for(j=n/2; j>=1; --j) ispis(i,j);
printf("\n");
}
system("PAUSE");
return 0;
}
[/code:1]
Za zadatak 42. jednostavno uočimo pravilan uzorak u svakom od redaka i ispisujemo ga sve dok u tom retku ne popunimo točno n mjesta, nisam se bavio ovime, ali ako treba, lako se prebroji koliko ima zvijezdica, te kad ispišemo zadnju možemo prestati s izvođenjem programa (da ne dobijemo višak redova ili bespotrebnih razmaka).
Evo mog koda
[code:1]
#include<stdio.h>
int main(void)
{
int m, n, i, j, koliko, duljina;
scanf("%d%d", &m, &n);
duljina=4*m-6;
for(i=1; i<=m; ++i)
{
koliko=0;
for(j=1; j<=2*(i-1); ++j) {printf(" "); koliko++; if(koliko==n) break;}
while(koliko<n)
{
printf("*"); koliko++;
if(koliko<n) {printf("*"); koliko++;}
if(i==1 || i==m) for(j=1; j<=duljina; ++j) {if(koliko==n) break; printf(" "); koliko++;}
else
{
for(j=1; j<=4*m-4*i-2; ++j) {if(koliko==n) break; printf(" "); koliko++;}
if(koliko<n) {printf("*"); koliko++;}
if(koliko<n) {printf("*"); koliko++;}
for(j=1; j<=4*i-6; ++j) {if(koliko==n) break; printf(" "); koliko++;}
}
}
printf("\n");
}
system("PAUSE");
return 0;
}
[/code:1]
[size=9][color=#999999]Added after 1 minutes:[/color][/size]
Ako sam napisao nešto što je vsego već napisao, ispričavam se, pisali smo istovremeno :)
Gino (napisa): | imam par pitanja u vezi sa nekim zadacima pa ako netko moze pomoc... |
Probati ću ja dati par svojih (ne nužno dobrih) ideja.
Gino (napisa): | Citat: | Zadatak 11:
Napisite program koji ucitava dva prirodni broj n, n < 10 koji predstavlja duljinu niza, te niz prirodnih brojeva a1, a2, . . . , an,
Svi elementi niza ce biti manji ili jednaki 100 (ne treba provjeravati). Program treba ispisati sve brojeve koji se mogu prikazati
kao suma tri clana niza sa razlicitim indexima. Svaki od brojeva treba biti ispisan tocno jednom; brojevi trebaju biti ispisani
uzlazno po velicini! Na primjer, ako je n = 5, a ucitani niz brojeva je (3, 1, 10, 2, 1), onda vas program treba ispisati brojeve
4, 5, 6, 12, 13, 14, 15. |
dal se tu smije koristit pomocni niz, ako ne, kako onda rjesit |
Ne piše da ne smiješ korisiti pomoćni niz, ali može se bez njega. Sortiraš dobiveni niz uzlazno. Te zatim pogledaš sve moguće sume (nakon sortiranja) ai + aj + ak, gdje je i<j<k svi iz {1,...,n}. Gledaš ih naravno "logičnim" redom, dakle prvo a1+a2+a3, pa a1+a2+a4, itd. sve do a(n-2)+a(n-1)+an. Sumu ispišeš ako je različita od prethodno ispisanog broja (sigurno će biti veća ili jednaka, jer je niz a sortiran uzlano), to bi trebalo biti to .
Gino (napisa): | Citat: | Zadatak 23:
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. |
ovo isto nemam nekih ideja kako rjesit, kad bi znao tocno kolko je decimala upisano, mislim da ne bi bilo problema... bo, ili se mozda ocekuje da na kraju nece bit nekoliko 0, u smislu nesto.1001 moze npr, al nesto.1200 ne nego bi pisalo nesto.12 |
Unešeni broj pomnožiš s 10000 i pretvoriš ga u int (stat će zbog uvjeta zadatka), odstraniš mu sve 0 s kraja i pamtiš koliko si ih odstranio (odstraniš ih maksimalno 4). Dobiješ broj n. Ukoliko si odstranio 4 nule ispišeš
Kod: | printf("0.%d\n", n); |
Ukoliko si odstranio manje od 4 nule ispišeš
Kod: | printf("%d.%d\n", n%k, n/k); |
gdje je k=10 na (4 - koliko si nula odstranio)
Gino (napisa): | Citat: | Zadatak 26:
Napisite program koji ucitava dva cijela broja n1 i n2 (n1 ≤ 10, n2 ≤ 10), a zatim ucitava n1 binarnih znamenki prvog broja i n2
binarnih znamenki drugog broja. Znamenke se unose pocevsi od krajnje lijeve. Program treba ispisati binarni broj koji nastaje
zbrajanjem navedenih brojeva. Uputa: Koristiti pomoni niz i varijablu za prijenos prilikom zbrajanja pojedinih znamenki. |
neznam niti dal sam skuzio zadatak dakle, ja ucitam n1:
-2 gotov sam, jer sta to znaci ucitat njegovih -2-ije znamenke
pa recimo da ucitam 5(zanemarim n2 sad)
sad ovaj dio "ucitava 5 binarnih znamenki prvog broja" prvi broj je valjda 5, a to bi bilo 00101, sta tu ima za ucitat, i cemu dodatan niz
uglavnom valjda sam ja dosta toga krivo shvatio.... |
Nemoj toliko cjepidlačit.
Dakle, n1 i n2 su ti prirodni brojevi (ako nisu, nema smisla), od kojih ti n1 govori koliko znamenaka u binarnom prikazu ima prvi (neki) broj, a n2 koliko drugi. Ti zatim moraš zbrojiti prvi i drugi broj (ne misli se na n1 i n2), nego na neka dva broja od kojih prvi ima n1 znamenki u bazi 2, a drugi n2. Te ispisati rezultat isto u bazi 2.
Gino (napisa): | Citat: | Zadatak 28, Zadatak 32:
da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu | zaista se ucitava niz cijelih brojeva? |
Mislim da se učitava niz prirodnih brojeva.
Gino (napisa): | Citat: | Zadatak 37:
Napisati program koji ce unositi realne brojeve jednostruke preciznosti (float) sve dok se ne unese broj manji od nule ili broj
veci od 1000. Svaki uneseni broj treba zaokruziti na drugu decimalu i pridodati ga u sumu. Program treba ispisati konacnu
sumu. | kako to zaokruzit? |
Pomnoži svaki unešeni broj sa 100, zatim mu dodaj 0.5 (da zaokruživanje bude točno) i pretvori u int, sumiraj to (u int) i na kraju ispiši (float)suma/100
Gino (napisa): | Citat: | Zadatak 41(46), Zadatak 42 | ako neko zna... |
41. i 46., su isti, ono što su u 41. razmaci, to su u 46. točkice
Moja ideja za 41. (mislim i nadam se da postoji i bolja). Uvedemo koordinatni sustav tako da je ishodište u centru najvećeg pravokutnika, tj. onog m x n i da sve točke (u kojima će biti ili * ili razmak) imaju cjelobrojne koordinate. Sad primijetimo da je sve lijepo simetrično, te ako znamo popuniti gornji lijevi kvadrant onda znamo i preostala 3.
Sada, uvedimo koordinatni sustav na ispisu, dakle, gornji lijevi kut (prvo mjesto) je (1, 1), drugo mjesto u prvom redu je (1,2) itd. Sada primijetimo da u "prvom kvadrantu" vrijedi pravilo, ako su obe koordinate neparne na to mjesto ide *, ako su obje parne na to mjesto ide razmak, ako je prva koordinata neparna, a druga parna te ako je prva veća od druge onda na to mjesto dolazi razmak itd...
Naravno, potrebno je još obratiti posebnu pažnju na parnost brojeva m i n.
Ne mogu bolje objasniti, ali evo mog koda (za koji mislim da radi ), nadam se da će pomoći
Kod: |
#include<stdio.h>
void ispis(int x, int y)
{
if(x%2)
{
if(y%2) printf("*");
else if(x>y) printf(" ");
else printf("*");
}
else
{
if(!(y%2)) printf(" ");
else if(x>y) printf("*");
else printf(" ");
}
}
int main(void)
{
int m, n, i, j, k, l;
scanf("%d%d", &m, &n);
for(i=1; i<=m/2; ++i)
{
for(j=1; j<=n/2; ++j) ispis(i,j);
if(n%2)
{
l=n/2+1;
if(i>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(i,l);
}
for(j=n/2; j>=1; --j) ispis(i,j);
printf("\n");
}
if(m%2)
{
k=m/2+1;
for(j=1; j<=n/2; ++j) ispis(k,j);
if(n%2)
{
l=n/2+1;
if(k>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(k,l);
}
for(j=n/2; j>=1; --j) ispis(k,j);
printf("\n");
}
for(i=m/2; i>=1; --i)
{
for(j=1; j<=n/2; ++j) ispis(i,j);
if(n%2)
{
l=n/2+1;
if(i>l)
{
if(l%2) printf("*");
else printf(" ");
}
else ispis(i,l);
}
for(j=n/2; j>=1; --j) ispis(i,j);
printf("\n");
}
system("PAUSE");
return 0;
}
|
Za zadatak 42. jednostavno uočimo pravilan uzorak u svakom od redaka i ispisujemo ga sve dok u tom retku ne popunimo točno n mjesta, nisam se bavio ovime, ali ako treba, lako se prebroji koliko ima zvijezdica, te kad ispišemo zadnju možemo prestati s izvođenjem programa (da ne dobijemo višak redova ili bespotrebnih razmaka).
Evo mog koda
Kod: |
#include<stdio.h>
int main(void)
{
int m, n, i, j, koliko, duljina;
scanf("%d%d", &m, &n);
duljina=4*m-6;
for(i=1; i<=m; ++i)
{
koliko=0;
for(j=1; j<=2*(i-1); ++j) {printf(" "); koliko++; if(koliko==n) break;}
while(koliko<n)
{
printf("*"); koliko++;
if(koliko<n) {printf("*"); koliko++;}
if(i==1 || i==m) for(j=1; j<=duljina; ++j) {if(koliko==n) break; printf(" "); koliko++;}
else
{
for(j=1; j<=4*m-4*i-2; ++j) {if(koliko==n) break; printf(" "); koliko++;}
if(koliko<n) {printf("*"); koliko++;}
if(koliko<n) {printf("*"); koliko++;}
for(j=1; j<=4*i-6; ++j) {if(koliko==n) break; printf(" "); koliko++;}
}
}
printf("\n");
}
system("PAUSE");
return 0;
}
|
Added after 1 minutes:
Ako sam napisao nešto što je vsego već napisao, ispričavam se, pisali smo istovremeno
|
|
[Vrh] |
|
Gino Forumaš(ica)
Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
Postano: 17:35 sri, 11. 3. 2009 Naslov: |
|
|
[quote="vsego"]
Zadatak 28, Zadatak 32:
[quote="Gino"]da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva?[/quote]
Zasto je to cudno?[/quote]
5-->101
+5:
0101
1010 +1=
1011=-5, -5 ima 3 jedinice u binarnom zapisu
+5:
00101
11010+1
11011=-5, -5 ima 4 jedinice u binarnom zapisu
...
kolko jedica ima -5 u binarnom zapisu?
[size=9][color=#999999]Added after 3 minutes:[/color][/size]
[quote="vsego"]
[quote="Gino"]i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220[/quote]
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". :)
[/quote]
pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220)
vsego (napisa): |
Zadatak 28, Zadatak 32:
Gino (napisa): | da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva? |
Zasto je to cudno? |
5→101
+5:
0101
1010 +1=
1011=-5, -5 ima 3 jedinice u binarnom zapisu
+5:
00101
11010+1
11011=-5, -5 ima 4 jedinice u binarnom zapisu
...
kolko jedica ima -5 u binarnom zapisu?
Added after 3 minutes:
vsego (napisa): |
Gino (napisa): | i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220 |
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom".
|
pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220)
_________________ Mario Berljafa
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 18:11 sri, 11. 3. 2009 Naslov: |
|
|
[quote="Gino"][quote="vsego"]Zadatak 28, Zadatak 32:
[quote="Gino"]da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva?[/quote]
Zasto je to cudno?[/quote]
5-->101
+5:
0101
1010 +1=
1011=-5, -5 ima 3 jedinice u binarnom zapisu
+5:
00101
11010+1
11011=-5, -5 ima 4 jedinice u binarnom zapisu
...
kolko jedica ima -5 u binarnom zapisu?[/quote]
Koliko jedinica ima -17 u dekadskom zapisu? :-k Razlikuj "binarni zapis" (binarno, -5 zapisujemo kao -101) i "prikaz u racunalu" (gdje je -5 prikazan kao 111...1011). :)
[quote="Gino"][quote="vsego"][quote="Gino"]i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220[/quote]
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". :)[/quote]
pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220)[/quote]
Pise "parovi", a ne "uredjeni parovi". :)
Umjesto lingvistickih igrica, evo ti bolja mozgalica: rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne. :D
Gino (napisa): | vsego (napisa): | Zadatak 28, Zadatak 32:
Gino (napisa): | da sad ne ispisujem u oba se trazi da se ucita cijeli broj n, te niz od n cijelih brojeva, s kojim se nesto radi na temelju broja jedinica u binarnom sustavu
zaista se ucitava niz cijelih brojeva? |
Zasto je to cudno? |
5→101
+5:
0101
1010 +1=
1011=-5, -5 ima 3 jedinice u binarnom zapisu
+5:
00101
11010+1
11011=-5, -5 ima 4 jedinice u binarnom zapisu
...
kolko jedica ima -5 u binarnom zapisu? |
Koliko jedinica ima -17 u dekadskom zapisu? Razlikuj "binarni zapis" (binarno, -5 zapisujemo kao -101) i "prikaz u racunalu" (gdje je -5 prikazan kao 111...1011).
Gino (napisa): | vsego (napisa): | Gino (napisa): | i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220 |
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". |
pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220) |
Pise "parovi", a ne "uredjeni parovi".
Umjesto lingvistickih igrica, evo ti bolja mozgalica: rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne.
_________________ 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] |
|
Gino Forumaš(ica)
Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
Postano: 21:41 sri, 11. 3. 2009 Naslov: |
|
|
[quote="JANKRI"]41. i 46., su isti, ono što su u 41. razmaci, to su u 46. točkice :)[/quote]
da zato i stoji u zagradi, nisam htio izostavit da mi neko ne kaze da ga rjesim kao 46. misleci da ga znam jer ga nisam naveo :)
i rjesenje mi se cini dosta dugo... al hvala
[quote="vsego"]Razlikuj "binarni zapis" (binarno, -5 zapisujemo kao -101) i "prikaz u racunalu" (gdje je -5 prikazan kao 111...1011). :)[/quote]
tako dakle...
[quote="vsego"]Pise "parovi", a ne "uredjeni parovi". :)[/quote]
aaaaaha
[quote="vsego"]rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne.[/quote]
rjeseno(valjda)
takoder, hvala
JANKRI (napisa): | 41. i 46., su isti, ono što su u 41. razmaci, to su u 46. točkice |
da zato i stoji u zagradi, nisam htio izostavit da mi neko ne kaze da ga rjesim kao 46. misleci da ga znam jer ga nisam naveo
i rjesenje mi se cini dosta dugo... al hvala
vsego (napisa): | Razlikuj "binarni zapis" (binarno, -5 zapisujemo kao -101) i "prikaz u racunalu" (gdje je -5 prikazan kao 111...1011). |
tako dakle...
vsego (napisa): | Pise "parovi", a ne "uredjeni parovi". |
aaaaaha
vsego (napisa): | rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne. |
rjeseno(valjda)
takoder, hvala
_________________ Mario Berljafa
|
|
[Vrh] |
|
samanta Forumaš(ica)
Pridružen/a: 14. 01. 2008. (15:07:57) Postovi: (15)16
|
Postano: 21:29 čet, 12. 3. 2009 Naslov: |
|
|
Jel se moze ovako rjesiti 32. zadatak?
[size=9][color=#999999]Added after 3 minutes:[/color][/size]
Vidin da nije bas razumljivo,nadan se da ce ovo bit bolje
int bin(int n)
{
int br1=0,br0=0;
if(n>0){
while(n>0){
if(n%2==1) br1++;
n/=2;
}
}
else{
n=-n;
while(n>0){
if(n%2==1) br0++;
if(n%2==0) br1++;
n/=2;
}
}
return br1;
}
int main(void)
{
int n,a[50],i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
if((bin(a[i]))==(bin(a[j])))
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
if((bin(a[i]))>(bin(a[j]))){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<n;i++) printf("%d ",a[i]);
scanf("%%");
return 0;
}
[/code]
Jel se moze ovako rjesiti 32. zadatak?
Added after 3 minutes:
Vidin da nije bas razumljivo,nadan se da ce ovo bit bolje
int bin(int n)
{
int br1=0,br0=0;
if(n>0){
while(n>0){
if(n%2==1) br1++;
n/=2;
}
}
else{
n=-n;
while(n>0){
if(n%2==1) br0++;
if(n%2==0) br1++;
n/=2;
}
}
return br1;
}
int main(void)
{
int n,a[50],i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
if((bin(a[i]))==(bin(a[j])))
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
if((bin(a[i]))>(bin(a[j]))){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<n;i++) printf("%d ",a[i]);
scanf("%%");
return 0;
}
[/code]
Description: |
|
Download |
Filename: |
prog_32.cpp |
Filesize: |
1.25 KB |
Downloaded: |
102 Time(s) |
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 21:38 čet, 12. 3. 2009 Naslov: |
|
|
Mali popravci (ljepša fja bin, granice u for petlji i sortiranje):
[code:1]
#include<stdio.h>
int bin(int n)
{
int br1=0;
if ( n<0) n=-1*n;
while(n>0)
{
if(n%2==1) br1++;
n/=2;
}
return br1;
}
int main(void)
{
int n,a[50],i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if( bin(a[i]) > bin(a[j]) )
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
if( bin(a[i])==bin(a[j]) && a[i]>a[j] )
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<n;i++) printf("%d ",a[i]);
scanf("%%");
return 0;
}
[/code:1]
Mali popravci (ljepša fja bin, granice u for petlji i sortiranje):
Kod: |
#include<stdio.h>
int bin(int n)
{
int br1=0;
if ( n<0) n=-1*n;
while(n>0)
{
if(n%2==1) br1++;
n/=2;
}
return br1;
}
int main(void)
{
int n,a[50],i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if( bin(a[i]) > bin(a[j]) )
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
if( bin(a[i])==bin(a[j]) && a[i]>a[j] )
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<n;i++) printf("%d ",a[i]);
scanf("%%");
return 0;
}
|
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
samanta Forumaš(ica)
Pridružen/a: 14. 01. 2008. (15:07:57) Postovi: (15)16
|
|
[Vrh] |
|
Spectre Forumaš(ica)
Pridružen/a: 02. 10. 2006. (16:58:05) Postovi: (167)16
Spol:
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 22:34 čet, 12. 3. 2009 Naslov: |
|
|
[quote="Spectre"]
Na prvi pogled mi se sve čini OK, osim što ćeš stalno pozivati [i]bin[/i] funkciju za iste brojeve,
[/quote]
Znam, nisam htio komplicirat sa dodatnim varijablama... 8)
A ionako nije bitna optimizacija (onda bi bio barem bubble sort :love:, a ne obični) a i nije fja bin neka koja je prejaka računski, i nema brdo brojeva pa se ne bi ni osjetilo :D
Spectre (napisa): |
Na prvi pogled mi se sve čini OK, osim što ćeš stalno pozivati bin funkciju za iste brojeve,
|
Znam, nisam htio komplicirat sa dodatnim varijablama...
A ionako nije bitna optimizacija (onda bi bio barem bubble sort , a ne obični) a i nije fja bin neka koja je prejaka računski, i nema brdo brojeva pa se ne bi ni osjetilo
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
mycky1111 Forumaš(ica)
Pridružen/a: 26. 05. 2008. (11:59:07) Postovi: (D4)16
Spol:
|
Postano: 10:52 sub, 14. 3. 2009 Naslov: |
|
|
zadatak [b]13[/b]
[quote="JANKRI"]
Ne piše da ne smiješ korisiti pomoćni niz, ali može se bez njega. Sortiraš dobiveni niz uzlazno. Te zatim pogledaš sve moguće sume (nakon sortiranja) ai + aj + ak, gdje je i<j<k svi iz {1,...,n}. Gledaš ih naravno "logičnim" redom, dakle prvo a1+a2+a3, pa a1+a2+a4, itd. sve do a(n-2)+a(n-1)+an. Sumu ispišeš ako je različita od prethodno ispisanog broja (sigurno će biti veća ili jednaka, jer je niz a sortiran uzlano), to bi trebalo biti to :).
[/quote]
ja sam napravila te tri petlje, i prije toga sam sortirala niz, i racuna sve moguce kombinacije za dobit sumu tri razlicita clana, i to je ok. ali sume koje nisu poredane po velicni ako su neka dva clana niza ista, sto je i za ocekivat. e, sada, ja ne znam sto cu, kako cu te sume poredat po redu, i kako ce mi ispisat samo jedanput svaku sumu. pada mi na pamet uvodenje niza za sume(sto vjerojatnpo ne valja), ali... zbunjena sam... :(
zadatak 13
JANKRI (napisa): |
Ne piše da ne smiješ korisiti pomoćni niz, ali može se bez njega. Sortiraš dobiveni niz uzlazno. Te zatim pogledaš sve moguće sume (nakon sortiranja) ai + aj + ak, gdje je i<j<k svi iz {1,...,n}. Gledaš ih naravno "logičnim" redom, dakle prvo a1+a2+a3, pa a1+a2+a4, itd. sve do a(n-2)+a(n-1)+an. Sumu ispišeš ako je različita od prethodno ispisanog broja (sigurno će biti veća ili jednaka, jer je niz a sortiran uzlano), to bi trebalo biti to .
|
ja sam napravila te tri petlje, i prije toga sam sortirala niz, i racuna sve moguce kombinacije za dobit sumu tri razlicita clana, i to je ok. ali sume koje nisu poredane po velicni ako su neka dva clana niza ista, sto je i za ocekivat. e, sada, ja ne znam sto cu, kako cu te sume poredat po redu, i kako ce mi ispisat samo jedanput svaku sumu. pada mi na pamet uvodenje niza za sume(sto vjerojatnpo ne valja), ali... zbunjena sam...
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
JANKRI Forumaš(ica)
Pridružen/a: 10. 07. 2008. (02:30:58) Postovi: (10F)16
Spol:
Lokacija: Zagreb
|
Postano: 15:19 sub, 14. 3. 2009 Naslov: |
|
|
Ja se moram ispričati za ovaj 13. zadatak, ovaj moj kvazialgoritam baš i neće raditi :D.
Naime to što je niz sortiran uzlazno ne znači da je nužno npr.
a1 + a2 + a5 <= a2+a3+a4, što treba biti, ako želimo (a želimo) da algoritam radi.
Još jednom, sorry :)
Npr., neka je n=5 i neka je niz 1, 2, 3, 4, 9, očito je 1 + 2 + 9 > 2 + 3 + 4, a mi ovim "mojim" načinom provjeravanja suma prvo "naiđemo" na 1+2+9, a onda tek na 2+3+4, što znači da 2+3+4 = 9 nećemo ispisati...
Ja se moram ispričati za ovaj 13. zadatak, ovaj moj kvazialgoritam baš i neće raditi .
Naime to što je niz sortiran uzlazno ne znači da je nužno npr.
a1 + a2 + a5 <= a2+a3+a4, što treba biti, ako želimo (a želimo) da algoritam radi.
Još jednom, sorry
Npr., neka je n=5 i neka je niz 1, 2, 3, 4, 9, očito je 1 + 2 + 9 > 2 + 3 + 4, a mi ovim "mojim" načinom provjeravanja suma prvo "naiđemo" na 1+2+9, a onda tek na 2+3+4, što znači da 2+3+4 = 9 nećemo ispisati...
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Milojko Forumaš(ica)
Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16
Spol:
Lokacija: Hilbertov hotel
|
Postano: 15:03 ned, 15. 3. 2009 Naslov: |
|
|
ja sam to napisao i radi kak spada, al, nisam trpao u niz nule i jedinice, nego sume :) evo otprilike kak je to izgledalo, opisno :) iz učitanog niza brojeva, u pomoćni niz strpao sve sume od po tri člana, taj niz sortirao, i, kad je sortiran, krenio od nultog člana niza (tog sa sumama), i ak su neki dalji elementi niza jednaki njemu, njih postavio na 350. na kraju, opet protrčo kroz niz i ispiso sve elemente različite od 350. stavio sam rješenje u attachment, ako nekoga zanima (@admini: sorry ak ovo baš i nije u redu da se napravi, al, svašta se je već izrješavalo na forumu na forumu :))
ja sam to napisao i radi kak spada, al, nisam trpao u niz nule i jedinice, nego sume evo otprilike kak je to izgledalo, opisno iz učitanog niza brojeva, u pomoćni niz strpao sve sume od po tri člana, taj niz sortirao, i, kad je sortiran, krenio od nultog člana niza (tog sa sumama), i ak su neki dalji elementi niza jednaki njemu, njih postavio na 350. na kraju, opet protrčo kroz niz i ispiso sve elemente različite od 350. stavio sam rješenje u attachment, ako nekoga zanima (@admini: sorry ak ovo baš i nije u redu da se napravi, al, svašta se je već izrješavalo na forumu na forumu )
_________________ Sedam je prost broj
Bolonja je smeće i to pod hitno treba mijenjat
Description: |
|
Download |
Filename: |
z,13.cpp |
Filesize: |
1.31 KB |
Downloaded: |
121 Time(s) |
|
|
[Vrh] |
|
|