Autor | Zpráva | ||
---|---|---|---|
sloncz Profil |
#1 · Zasláno: 28. 10. 2015, 17:44:59
Hezký večer přeji, lámu si hlavu s jedním řešením.
Mám řetězec $pismena = "ABC"; nebo $pismena = "ABB"; atp. a potřeboval bych nějaké řešení, jak zjistit, jestli se v tom řetězci opakují některé znaky 2x a pokud ano, aby mi to vypsalo i o jaký znak se jedná. Příklad: Měl bych řetězec $pismena = "ACC"; a potřeboval bych, aby mi to v další proměnné, $vysledek, vypsalo písmenko "C", protože to se v daném řetězci o třech znakách vyskytuje 2x. |
||
juriad Profil |
Musí se vyskytovat alespoň dvakrát po sobě, nebo kdekoli? Záleží na velikosti písmen (jedná se o různé znaky?) Co když se opakuje vícekrát? Co vícebytové znaky?
Co očekáváš za výstup pro řetěžec aAxxEEBbADDDDDDEE ?
|
||
Alphard Profil |
#3 · Zasláno: 28. 10. 2015, 17:49:41
|
||
sloncz Profil |
Omlouvám se, že jsem nenapsal toho více. Řetězec bude mít VŽDY jen 3 znaky a budou to různé znaky, co klávesnice poskytuje, takže bych potřeboval něco, co dokáže z jakýkoliv tří znaků poznat, jestli se v řetězci nějaký nachází vícekrát, než 1x a také je jedno zda budou dvě stejná písmena po sobě, nebo mezi nimi bude jiné písmeno-.
|
||
mimochodec Profil |
#5 · Zasláno: 28. 10. 2015, 18:33:59
sloncz:
Kolikrát je znak v proměnné .. jestli se v řetězci nějaký nachází vícekrát, než 1x To není totéž. To první je číslo, to druhé je bool. Tady máš řešení toho prvního, ta druhá možnost se z toho dá relativně snadno udělat. echo pocitejshody("aac"); function pocitejshody($in) { $arr = str_split($in); $out = 0; if ($arr[0] == $arr[1]){$out += 1;} if ($arr[1] == $arr[2]){$out += 1;} if ($arr[2] == $arr[0]){$out += 1;} return $out; } |
||
tiso Profil |
#6 · Zasláno: 28. 10. 2015, 19:00:49
mimochodec: to myslíš vážne?
|
||
mimochodec Profil |
#7 · Zasláno: 28. 10. 2015, 19:22:12
tiso:
Zadání se změnilo, můj kód už mu neodpovídá. Předtím jsem do vážně myslel. Speciální funkci přímo na to neznám, délka tři znaky byla daná. Při větší délce bych na to šel úplně jinak, tady mi to připadalo jako škoda času. |
||
Davex Profil |
#8 · Zasláno: 28. 10. 2015, 19:24:34
sloncz:
Co třeba regulárním výrazem? $pismena = "ADA"; if (preg_match('~(.).*\\1~', $pismena, $matches)) { $vysledek = $matches[1]; } else { $vysledek = ""; } echo $vysledek; |
||
Časová prodleva: 9 let
|
0