#6 Sprinter
Máš pravdu, ale v tomhle by neměl být problém. Tvůj algoritmus funguje tak, že od začátku to projede s prvním slovem, pak zase od začátku druhým slovem, atd. Ty jsi chtěl asi naznačit, že by ten algoritmus měl pro každou dvojici zkontrolovat jestli to není jedno z těch slov. Ale to tvůj algoritmus dělá, jenom to dělá jiným způsobem. Protože si "už zpracované" ukládáš do nového pole, tak je úplně jedno jaký způsob zvolíš.
Vrátím se zpátky k těm mým upozorněním. Proměnnou count počítáš špatně, to doufám vidíš. Ta druhá věc je, že count nepoužíváš v if-then. Dám příklad...mějme řetězec AASSAAA... a máme jednu transformaci kdy za S dosadíme BBB (pro zjednodušení nebudu řešit, že máme 2 pole).
1. V algoritmu narazim na S a začnu přidávat BBB
2. Dosadil jsem a koncim if-then větev ( m = 2 , count = 2 + 3 + 1)
3. Posunu se na m = 3 a našel další S
4. ale!!! transformaci provádím na m = 3 (kam se mně ztratil minulý posun?!)
tedy výsledek příkladu je asi takový to: AAB+BBBAAA... (ale správný je AABBB+BBBAAA...)
(příklad jsem zjednodušil, ale doufám, že ta chyba tam je vidět )
EDIT: 5. dokončil jsem (špatně) transformaci a končím if-then (m = 3,count = 3 + 3 +1 = druhé špatně)