Ahoj, potřebuju poradit s jedním banálním problémem, který se mi nepodařilo zatím rozluštit nevíte někdo náhodou, jak:
program, který z konzole načte slovo a vypíše jej pozpátku. A taky:
Napište program, který z konzole načte větu a vypíše jí pozpátku, přičemž slova zachová.
Např. větu "Zase jsme vyhráli, tentokrát těsně." vypíše jako ".těsně tentokrát, vyhráli jsme Zase".
#1ondrej77
V případě slova bych ho projíždel cyklem po jednom odzadu a ukládal do pomocné proměnné. A v případě věty bych si ji rozdělil po slovech do pole a pak v podstatě postupoval stejně jako s písmeny v předchozím úkolu ale tentokrát s celými slovy.
Slovo: načteš string, pomocí vlastnosti Lenght určíš index posledního znaku a odzadu pomocí vlastnosti Chars[index] budeš odzadu získávat jednotlivé znaky a zapisovat je do nového řetězce.
Věta: Pomocí metody Split(char[]) rozdělíš větu na pole stringů, kde každý string reprezentuje slovo. Oddělovačem je mezera (parametr bude pole s jedním prvkem). Pole pak projdeš odzadu a budeš slova zapisovat do nového řetězce.
#4ondrej77
myslel jsem sestavit řetězec a ten pak vypsat. Takže tebou získané pole tx projít odzadu cyklem a ze slov skládat výsledný string. Věta může mít různý počet slov, což nevím, jak u Console.WriteLine vyřešit.
Akorát by asi bylo třeba v první řadě ze zdrojového stringu odebrat tečku = poslední znak a do cílového stringu tečku zapsat na začátek.
Ja bych cetl string od zadu. Zapis jsem pouzil javascriptovy, ale to si snad poradis.
out = '';
slovo = '';
cyklus (znaky stringu od konce)
if (isLetter(znak)) {slovo = znak+ slovo;}
else {out += slovo+char; znak='';}