Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 19. 11. 2012 12:40

Ajvnhoe
Zelenáč
Příspěvky: 5
Škola: MFF UK
Pozice: Student
Reputace:   
 

Odstavce

Ahoj,
dostal jsem úlohu naprogramovat program v Pascalu který na vstupu dostane kladné číslo menší než 256 a blok textu a jeho úkolem je zarovnat text do úhledného bloku od délce stanovené načteným číslem. Přesné znění je:


Na prvním řádku standardního vstupu se nachází jedno celé kladné číslo N. Na dalších (různě dlouhých) řádcích pokračuje text. Délka každého řádku je menší než 256.

Výstupem bude stejný text, ale zformátovaný do odstavce šířky N.

Formát odstavce
První slovo každého řádku se dotýká levého okraje odstavce (jeho první písmeno je v prvním sloupečku). Stejně tak, poslední slovo je zarovnané k pravému okraji (jeho poslední písmeno je v sloupečku N). Mezi každými dvěma sousedními slovy je buď oddělovač řádku nebo jedna či více mezer. „Přebytečné“ mezery se rozdělují rovnoměrně mezi všechny mezery na řádku odleva. (Tedy, když máme na řádku 3 slova a je mezi ně potřeba dostat 5 mezer, tak mezi 1. a 2. budou tři, mezi 2. a 3. dvě.)

Pokud se na řádek nevejdou ani dvě slova, bude na něm jen jedno, zarovnané doleva a žádné mezery okolo nebudou.

Poslední řádek je zarovnán pouze doleva, mezi každými dvěma sousedními slovy právě jedna mezera.

Za slovo se považuje libovolná posloupnost znaků oddělená od zbytku buď novým řádkem nebo alespoň jednou mezerou.



Jsem naprostý amatér co se týče programování, tak doufám že mi s tou to úlohou někdo trochu pomůže. :)

Offline

 

#2 19. 11. 2012 16:09

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Odstavce

↑ Ajvnhoe:
Ahoj, rozdělíš si text na pole slov a vytvoříš pole řádků. Do prvního řádku přidáváš slovo ke slovu (mezi ty dvě slova dáš mezeru) a kontroluješ zda už si nepřekročil stanovenou délku řádku. Pokud ano, slovo nepřidáš a přesuneš se na další řádek. Takto postupuješ až když vyčerpáš všechna slova. Teď máš pole řádků, které už obsahují slova tak jak budou, jen je nutno je ještě doplnit o mezery. Zatím chápeš?

Offline

 

#3 23. 11. 2012 17:20

Ajvnhoe
Zelenáč
Příspěvky: 5
Škola: MFF UK
Pozice: Student
Reputace:   
 

Re: Odstavce

Děkuji, jak to tak vypadá tak je to vysoce nad moje meze :(, jestli by tě to moc neobtěžovalo mohl/a bys mě ještě trochu víc ťuknout, ale i tak díky za částečné odkrytí problému!! :)

Offline

 

#4 23. 11. 2012 20:32

Miky4
Místo: Ostrava!!!
Příspěvky: 676
Reputace:   30 
 

Re: Odstavce

↑ Ajvnhoe:
Pole znáš?

Offline

 

#5 23. 11. 2012 22:28

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: Odstavce

Jestli neznáš pole, uprchni z Karlovy univerzity. :D


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson