{"id":1986,"date":"2011-07-28T21:17:00","date_gmt":"2011-07-28T21:17:00","guid":{"rendered":"https:\/\/zrstest.zrs.hr\/index.php\/2011\/07\/28\/programerski-osvrt-na-trece-kolo-ljetne-lige-c-2011-za-kadete-26-07-2011\/"},"modified":"2011-07-28T21:17:00","modified_gmt":"2011-07-28T21:17:00","slug":"programerski-osvrt-na-trece-kolo-ljetne-lige-c-2011-za-kadete-26-07-2011","status":"publish","type":"post","link":"https:\/\/zrs.hr\/index.php\/2011\/07\/28\/programerski-osvrt-na-trece-kolo-ljetne-lige-c-2011-za-kadete-26-07-2011\/","title":{"rendered":"Programerski osvrt na tre\u0107e kolo Ljetne lige C++ 2011 za kadete &#8211; 26.07.2011."},"content":{"rendered":"<p>\n\tUspje&scaron;no smo odradili i tre\u0107e kolo ovogodi&scaron;nje C++ ljetne lige. <a href=\"http:\/\/zatemas.zrs.hr\/?app=contest2&amp;show=results&amp;groupid=16&amp;id=67&amp;roundid=287&amp;categoryid=143&amp;viewid=-1&amp;tab=4\">Pogledajmo rezultate<\/a>.<\/p>\n<p>\n\tOsim uobi\u010dajenih problem\u010di\u0107a, pojavio se jedan novije vrste \ud83d\ude42<\/p>\n<p>\n\tNatjecatelju Vilimu Lendvaju nije bilo mogu\u0107e kompajlirati prvi zadatak sa standardnim postavkama, budu\u0107i je koristio zastarjelu, odnosno danas ve\u0107 prakti\u010dki nepostoje\u0107u header datoteku&nbsp;<strong>algobase.h<\/strong> koja se vi&scaron;e ne koristi u C++. Radi se o header datoteci koja se ne koristi od 1998&#8230;<\/p>\n<p>\n\tUz informiranje i pristanak natjecatelja, iz koda je uklonjena pripadna <strong>#include<\/strong> linija te je rje&scaron;enje rekompajlirano i onda podvrgnuto ostatku evaluacije gdje je natjecatelj osvojio 30 \/ 30 bodova na 1. zadatku. Ovo je u\u010dinjeno, budu\u0107i nema ograni\u010denja na verziju C-a ili C++a koju natjecatelj koristi te bi sa starijom verzijom kompajliranje bilo uspje&scaron;no (nema sintakti\u010dkih gre&scaron;aka), me\u0111utim kako ni&scaron;ta iz tog headera nije kori&scaron;teno u rje&scaron;enju zadatka (<em>kako je potvrdio i sami natjecatelj<\/em>) niti je promjenjena okolina , bilo je dozvoljeno to isto ukloniti. U protivnom da je u programu kori&scaron;ten resurs iz tog headera, isti bi bio zamjenjen sa &lt;algorithm&gt;.<\/p>\n<p>\n\t&#8212;<\/p>\n<p>\n\tOd ostalih pote&scaron;ko\u0107a na natjecanju je uo\u010deno problemati\u010dno kori&scaron;tenje <strong>scanf<\/strong> funkcije&#8230; nekada je doista te&scaron;ko odrediti &scaron;to zna\u010di vrijednost, a &scaron;to adresa varijable, a to \u0107emo jo&scaron; spomenuti&#8230; Preporu\u010da se natjecateljima da ukoliko ve\u0107 rade i spremaju rje&scaron;enja kao .CPP, da poku&scaron;aju postupno prije\u0107i i na sami jezik C++, odnosno da koriste konstrukte, biblioteke i funkcije od jezika C++, koji je ipak na ne&scaron;to vi&scaron;oj razini od \u010distog C-a.<\/p>\n<p>\n\tAko u neku proceduru prenosimo adresu (zvani\u010dni <strong>by Reference<\/strong> prijenos), onda to radimo na sljede\u0107i na\u010din:<\/p>\n<p>\n\tza obi\u010dnu varijablu, npr <strong>int x<\/strong>:<\/p>\n<p>\n\tscanf(&quot;%d&quot;,&amp;x); \/\/ gdje znak &amp; ozna\u010dava da proslije\u0111ujemo memorijsku lokaciju, a ne vrijednost varijable.<\/p>\n<p>\n\tza element u nizu a, npr <strong>int a[100];<\/strong><\/p>\n<p>\n\tscanf(&quot;%d&quot;,a[100]); ili scanf(%d,(a+100)); \/\/ dakle ovdje je mala iznimka kod adresiranja varijabli u C-u i C++-u, te valja jako pripaziti!<\/p>\n<p>\n\tNa\u017ealost je bilo gre&scaron;aka s uporabom scanf funkcije i to se ne mo\u017ee priznavati budu\u0107i se program uspje&scaron;no kompajlirao, a uporaba pointera je uvijek dozvoljena&#8230;<\/p>\n<p>\n\t&Scaron;to se ti\u010de slanja rje&scaron;enja, u jednoj prilici je poslana .o datoteka, koja nam i nije od neke pomo\u0107i kod evaluacije \ud83d\ude42<br \/>\n\tPrimamo dakle, samo .c ili .cpp, budu\u0107i je ovo ipak C++ ljetna liga. \ud83d\ude09<\/p>\n<p>\n\t&#8212;<\/p>\n<p>\n\tIsprika radi 2. zadatka, u kojem nije naveden redoslijed ispisa povr&scaron;ina (koji je abecedni kako govore i test primjeri&#8230;), me\u0111utim to je uzeto u obzir pri evaluaciji te su bili dodjeljeni bodovi bez obzira na redoslijed.<\/p>\n<p>\n\tTako\u0111er, u 2. zadatku, ukupna povr&scaron;ina jest <strong>UNIJA SVIH POVR&Scaron;INA<\/strong> &scaron;to nitko od natjecatelja nije ispravno protuma\u010dio. Budu\u0107i se povr&scaron;ine mogu nalaziti u presjeku, tra\u017ei se ukupno zauze\u0107e svih povr&scaron;ina u cijelom poligonu (pravokutnoj matrici), dakle<strong> to nije suma pojedina\u010dnih povr&scaron;ina upravo zato &scaron;to se one mogu nalaziti u presjeku<\/strong>. To bi se moglo rije&scaron;iti na na\u010din da sve pravokutnike &quot;zacrnimo&quot; nekim znakom, npr. sa zvijezdicom i onda prebrojimo zvijezdice&#8230; A drugi je na\u010din da oduzmemo R*S &#8211; broj to\u010daka. Dok je tre\u0107i na\u010din izra\u010dun unije realnih intervala, zasebno po X-osi i zasebno po Y-osi.&nbsp;<\/p>\n<p>\n\tPosebno smo zadvoljni &scaron;to su natjecatelji pristupali rje&scaron;avanju tre\u0107eg zadatka, koji je svojevrsni uvod u (<em>uvjetno re\u010deno<\/em>) nove strukture podataka i pripadne algoritme koji \u0107e biti od velike koristi skora&scaron;njim srednjo&scaron;kolcima.<\/p>\n<p>\n\t&#8212;<\/p>\n<p>\n\tToliko o tre\u0107em kolu, do idu\u0107eg, u\u017eivajte i pripremajte se \ud83d\ude42<\/p>\n<p>\n\t<em>Autor zadataka C++<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uspje&scaron;no smo odradili i tre\u0107e kolo ovogodi&scaron;nje C++ ljetne lige. Pogledajmo rezultate. Osim uobi\u010dajenih problem\u010di\u0107a, pojavio se jedan novije vrste \ud83d\ude42 Natjecatelju Vilimu Lendvaju nije bilo mogu\u0107e kompajlirati prvi zadatak sa standardnim postavkama, budu\u0107i je koristio zastarjelu, odnosno danas ve\u0107 prakti\u010dki nepostoje\u0107u header datoteku&nbsp;algobase.h koja se vi&scaron;e ne koristi u C++. Radi se o header [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1987,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,23],"tags":[],"class_list":["post-1986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-obavijesti","category-ljeto-u-zagrebu"],"_links":{"self":[{"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/posts\/1986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/comments?post=1986"}],"version-history":[{"count":0,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/posts\/1986\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/media\/1987"}],"wp:attachment":[{"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/media?parent=1986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/categories?post=1986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zrs.hr\/index.php\/wp-json\/wp\/v2\/tags?post=1986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}