Hirdetés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- SzDavid99: Van 20 perced? Akkor tanulj meg koreait olvasni!
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Samus: Rhyme Project: Fénysebesség
- Real Racing 3 - Freemium csoda
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
MacCaine
#859
üzenetére
Először is kell egy táblázat, ami minden billentyűhöz megmondja a szomszédait. Aztán szépen rekurzívan bejárod adott hosszig, ügyelve, hogy ismétlődés ne legyen (már ha ez feltétel). Például valahogy így:
#! /bin/bash
len=3
declare -A layout
layout["a"]=qwsxz
layout["s"]=wedcxzaq
layout["d"]=erfvcxsw
layout["f"]=rtgbvcde
# ...
function process
{
local text="$1"
local options="$2"
local i
local letter
local newtext
local next
for ((i=0; i<${#options}; i+=1))
do
letter=${options:i:1}
if [ "${text/$letter/}" = "${text}" ]
then
newtext="${text}${letter}"
if [[ ${#newtext} == $len ]]
then
echo "$newtext"
else
next=${layout[$letter]}
if [[ ${#next} > 0 ]]
then
process "$newtext" "$next"
fi
fi
fi
done
}
for i in "${!layout[@]}"
do
process "" "$i"
done
Új hozzászólás Aktív témák
- Apple iPhone 13 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- GYÖNYÖRŰ iPhone XR 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3117
- HIBÁTLAN iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3750, 96% Akkumulátor
- 156 - Lenovo LOQ (15IRH8) - Intel Core i5-13505H, RTX 4060
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

