velicina fonta

1

velicina fonta

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Imam problem sa jednim zadatkom, jer ne znam kako da ga resim. Pa mi je potrebna pomoc oko ideje za resavanje ovog zadatka.

Zadatak glasi ovako:
Treba odrediti najvecu velicinu fonta na tabli zadate velicine.
Pravila:
Visina linije je velicina fonta.
Sirina jednog karaktera je dve trecine od velicine fonta.

Ulazni podacu se primaju u dva reda. U prvom redu su dva broja, gde prvi broj odredjuje sirinu table a drugi broj visinu te table. U drugom redu je tekst, sa maksimalno od 10000 karaktera.
Na izlazu treba biti samo jedan broj, najveca moguca velicina fonta.

Evo nekoliko test primera:

Ulaz: 60 25
The lazy brown dog
Izlaz: 10

Ulaz: 50 50
The lazy brown dog
Izlaz: 12,5

Hvala unapred!Very Happy



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12251
  • Gde živiš: Južni pol

Očigledno je da ne znaš kako da ga rešiš jer nisi naveo jezik i razvojno okruženje. Ako je u pitanju C# zadatak, pogrešio si i forum.

Ljudi su voljni da pomognu oko rešavanja zadataka ako si bar pokušao da ga rešiš sam. Tako da nije loše napisati šta si pokušao.

Ako očekuješ da će neko rešiti umesto tebe, to se najverovatnije neće desiti. Nije u skladu sa pravilima foruma, a i većina ljudi ima pametnija posla nego da rešava tuđe domaće zadatke.



offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Ne, nisam trazio da ga neko resi umesto mene. Lepo sam napisao kakva mi pomoc treba.
Treba mi pomoc samo oko ideje resavanja ovog problema. Jezik nije ni bitan. Napisacu ga u C programskom jeziku.
Problem je u tome sto ne znam kako bi taj problem mogao da se resi. I zato trazim pomoc samo oko ideje.

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12251
  • Gde živiš: Južni pol

Ok u tom slučaju. Meni deluje kao čisto matematički zadatak. Iako je postavka dosta konfuzna tako da nemam predlog kako ga rešiti.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Da, sigurno treba nesto matematicki da se odradi.
Imamo:
sirinu i duzinu table
broj karaktera teksta
da je sirina karaktera dve trecine velicine fonta
a velicina fonta je visina linije

E sad, nista mi ne pada na pamet sta mogu da uradim sa tim. Sescu veceras lepo da razmlislim pa cu da vidim da li mogu ista uraditi, pa cu javiti dokle sam stigao i gde sam zapeo.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14370
  • Gde živiš: Niš

Zadatak je malo konfuzno napisan, ali je krajnje jednostavan kada se shvati suština. Suština je da tablu podeliš na onoliko delova (pravougaonog oblika dimenzija visina*širina, a pošto je širina = visina * 2/3 imaš dimenzije visina*(visina * 2/3)) koliko ti je minimalno potrebno da smestiš sve karaktere iz zadatog stringa.

Razjasnimo malo zahteve zadatka na sledećem primeru:
Ulaz: 50 50 The lazy brown dog Izlaz: 12.5
Visina je 12,5. Odatle je širina jednog karaktera 12,5 * 2/3 = 8,333. Širina reda je 50, što znači da u jednom redu staje 50/8,333 = 6 karaktera. Kako je visina table 50, a visina fonta 12,5, na tabli imamo ukupno 50/12,5 = 4 reda. Znači, imamo 4 reda sa po 6 karaktera što ukupno daje maksimalno 24 karaktera. Tekst ima 18 karaktera, što znači da se uklapa u kreiranu tablu. Ako bi font bio veći od 12,5, recimo 12,6, imali bismo na tabli najviše 3 reda (celobrojni deo od 50/12,6 je 3), ali bi i širina jednog karaktera bila nešto veća, pa u jednog redu ne bi stalo 6 karaktera, već 5. 5*3 = 15, a to je manje od broja karaktera koje ima zadati string. Dakle, 12,5 jeste tačno rešenje.

Jedina vodilja treba da ti bude da tabla treba da bude na najbolji način (da ostane što manje neiskorišćenog prostora, a tada je font najveći) izdeljena na polja veličine visina*(visina * 2/3).

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Kapiram tj. tako sam i pokusao da dodjem do resenje. Ali, kako da ja to uradim ako ne znam koliki treba da bude font.
Stavicu sliku uz poruku da vidis kako sam uradio, ali resenje nije tacno. Videces zasto.



Nadam se da se lepo vidi.Very Happy

E sad, zasto dobijam ovakvo resenje?
To bi znacilo da svaki manji broj od 14,43 je resenje sto nije tacno.

Kako bi trebalo da izgleda tacno resenje i zbog cega ovo moje ne daje tacne rezultate?

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3560
  • Gde živiš: 127.0.0.1

Ne daje tacne rezultate jer pretpostavljas da je prostor maksimalno iskoriscen, tj nema praznog prostora iza poslednjeg karaktera u redu i ispod poslednje linije, odnosno da je tabla takva da se kompletan tekst nalazi u jednom redu.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 09 Apr 2015 16:38

Dobro. Kako bih onda mogao da dodjem do tacnog resenja?

Dopuna: 11 Apr 2015 9:46

Je l moze neko da mi objasni kako da dodjem do rezultata?

Dopuna: 16 Apr 2015 12:02

Je l moze neko da mi pomogne?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14370
  • Gde živiš: Niš

Probaj za početak sa eliminisanjem predpostavke koju pominje Rastafarii.

Svakako, zadatak ipak zahteva malo vremena da se razmisli o problemu, da se uzmu u obzir sva ograničenja i da se pronađe rešenje. Na tvoju žalost, od čekanja i poziva u pomoć se zadatak neće sam rešiti. Moraš ti sam da se potrudiš malo više! Generalno, ovo može da ti bude dobra škola gde ćeš naučiti da se sve može rešiti uz dovoljno truda, i gde ćeš naučiti da sam rešavaš probleme koji su postavljeni ispred tebe. Osnovne smernice su ti date, pa izvoli. Sve je na tebi sada. Smile

Ko je trenutno na forumu
 

Ukupno su 885 korisnika na forumu :: 31 registrovanih, 2 sakrivenih i 852 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Apok, babaroga2, Boris90, drgnk, Galcom, Georgius, GrM, indja, ivance95, ivica976, JOntra2, lord sir giga, Mali Veseljak, Marko Marković, MiroslavD, mnn2, ostoja2, Panonsky, powSrb, RJ, robertino, rovac, SAA fan, sfb, Snorks, T-72, Toni, vathra, vlvl, zgoljo