Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
No to by snad nemělo být tak těžký, ne? Větu uložíš do stringu a pak např. pomocí cyklu FOR nebo WHI…
host 20.02.2007 21:10
host
To je fikany. Musel jsem na to chvili koukat, nez jsem pochopil, jak to pracuje. Chudak profesor...…
Jan Fiala 20.02.2007 21:21
Jan Fiala
proč? Vždyť je to typický příklad rekurze. Náš profesor informatiky na gymplu si v těchhle hříčkách…
touchwood 20.02.2007 21:27
touchwood
Výhoda rekurzívity je: - jednoduchosť zápisu Nevýhoda: - pri mnohonásobných volaniach (nebýva to zv… nový
msx. 21.02.2007 00:49
msx.
No to víš, originální řešení udělá větší dojem než nějaký cyklus FOR, který zvládne kdejaka lamka. :…
host 20.02.2007 21:33
host
Rekurzia je na toto nevhodna. Neefektivne to pracuje s pamatou, nie je tam kontrola na velkost vstup…
MM.. 20.02.2007 21:55
MM..
rekurzia je nevhodna skoro na vsetko. okrem toho ze sprehladnuje kod, nema ziadny dalsi vyznam. :-p
IgorK 20.02.2007 21:58
IgorK
Ma vyznam v specialnych pripadoch, napr. pri nejakom dynamickom vytvarani kombinacii apod (bola by v…
MM.. 20.02.2007 22:05
MM..
este raz. rekurzia sluzi len na sprehladnenie kodu(co som uz spominal), vsetko sa da napisat bez nej…
IgorK 20.02.2007 22:23
IgorK
Ale ved ja netvrdim ze sa neda, pisem o tom kde je to vhodne a kde nie. nový
MM.. 21.02.2007 00:25
MM..
Rekurzia je veľmi dobrá pri jednoduchom šachovom algoritme. Jednoduchý preto, lebo netreba kontrolov… poslední
msx. 21.02.2007 00:51
msx.
1 ) Větu uložíš do stringu 2 ) zjištíš délku stringu 3 ) Ve foru to vytiskneš v opačném pořadí nějak…
Flash_Gordon 20.02.2007 21:17
Flash_Gordon
To co je za program, pozeram ze mate vsetci dnes blby den :-) Naco si vytvaras premennu delkaTextu a…
MM.. 20.02.2007 22:02
MM..
Nesouhlasím. Mám to tam sice jen symbolicky, ale jednu věc jsem zatajil. Výpis do printf by měl obsa…
Flash_Gordon 20.02.2007 22:55
Flash_Gordon
Robis veci zbytocne komplikovane. substring, zbytocne premenne... Ja som si zvykol automaticky pisat… nový
MM.. 21.02.2007 00:31
MM..

proč? Vždyť je to typický příklad rekurze. Náš profesor informatiky na gymplu si v těchhle hříčkách liboval; dodnes si pamatuju, jak nás nutil programovat 3D programy (to bylo v roce 92), od té doby nemám rád vektory ;-). Dneska už jsem to skoro všechno pozapomínal, ale vím, že pomocí rekurze šlo zprasit kdeco..

Ma vyznam v specialnych pripadoch, napr. pri nejakom dynamickom vytvarani kombinacii apod (bola by vhodna napr na predposlednu perm.programming challenge na HTS :)) ale potom som to aj tak prerobil inac nech to je rychlejsie, s rekurziou to ale mohlo byt kratsie a paradoxne prehladnejsie).

1 ) Větu uložíš do stringu
2 ) zjištíš délku stringu
3 ) Ve foru to vytiskneš v opačném pořadí nějak takto:

v C++ takto:

string mujText; // předpokládejme, že už je v něm věta
int delkaTextu = mujText.lenght(); //naplníme délkou textu


for (i = 0; i<mujText.lenght(); i++)
{
printf...... --delkaTextu;  // tohle mam zkracene

}

// edit

Když jsem to ťukal nebyl tu JaFi.... :-D

To co je za program, pozeram ze mate vsetci dnes blby den :-)
Naco si vytvaras premennu delkaTextu a naco ju v cykle znizujes, ked ju nikde nepouzivas? V cykle bude snad nieco ako printf("%c", (int)(mujText[i]));
... P.S. resp cely ten cyklus ma byt naopak, for(i=mujText.length(); i>0; i--)
a potom printf("%c", (int)(mujText[i-1]));

Robis veci zbytocne komplikovane. substring, zbytocne premenne... Ja som si zvykol automaticky pisat veci efektivne, ma to 2 vyhody: a) pisem 2x menej :)) b)nemam zbytocny problem s kozistenciou rovnakej informacie vo viacerych premennych, hlavne po pripadnych zmenach programu (vsimni si ze mas to iste (dlzku) na 2miestach (v 2premennych), ak sa zmeni nieco musis menit vsetky miesta = potencialne riziko).
P.S. jasne ze v 3riadkoch to je jedno, ale taketo navyky ludia prenasaju aj do komplikovanych projektov a potom maju problem. Rovnaka informacia nema co hladat na 2miestach.

Zpět do poradny Odpovědět na původní otázku Nahoru