Hozzászólások
-
SzerzőBejegyzés
-
Ez a progi is ezt csinálja/csinálná lényegében. Ha esetleg segít, és valaki valamit észrevesz, akkor egy kicsit kommentelem:
#!/bin/bash
if [ $# -eq 0 ]; then exit ; fi
# Hány mezőre bomlik – csak a vesszőket hagyjuk a szövegben, és a karaktereket megszámoljuk (wc), de előtte még töröljük az újsor-karaktert (tr)
FIELD_NR=$(echo $* | grep -o „,” | tr -d „n” | wc -m)
FIELD_NR=$((FIELD_NR + 2)) # Nem igazán értem, miért +2 kell, miért nem +1# Egy ideiglenes fájlt csinálunk
TEMPFILE=$(mktemp)# A paramétert a „vesszőknél fogva” sorokra tördeljük (awk), az elején levő felesleges szóközöket töröljük (sed) és a TEMPFILE-ba írjuk
echo $* | awk -F „,” {‘for (i=1;i $TEMPFILE# A rekurzív függvénykém
# Hívása: Permutacio hanyadik_szint eddig_generált_karakter_sor
function Permutacio () {# Lokális változók…
local level
local CUR_ROW
local i# Az első paramétert eltároljuk, majd őt „kilökjük” (shift), hogy ne zavarjon bele a generált szövegbe
level=$1
shift# Ha elértük a „bűvös” szintet, akkor az eddig generált karaktersort kiírjuk, és nem rekurvulunk tovább
if [ $level -eq $FIELD_NR ]; then
echo $*
break
fi# A level sorszámú („leveledik” 😉 ) sort kiszedjük a fájlból (sed)
CUR_ROW=$(sed -n „${level}p” $TEMPFILE)
# A level-t eggyel növeljük – bár szerintem ezt a megjegyzést nem is kellett volna ideírni 🙂
level=$((level+1))# Az aktuális sor szóközökkel elválasztott szavain szalad végig az i változó
for i in $CUR_ROW ; do
# Rekurzió, a már megnövelt level-lel, az eddig kapott karaktersor ($*) kibővítve az aktuális „szóval” ($i)
Permutacio $level $* $i
done
}# Rekurzió elkezdése level=1-gyel és üres sorozattal
Permutacio 1# Szerintem az uccsó sor nem szorul magyarázatra
rm $TEMPFILEPróbáltam én debuggolni (különféle echo-üzik), de mintha az történne, hogy a legutolsó szintű for-cikluson nem halad végig, csak az első elemre hajtja végre a ciklusmagot…
Ezen nem megsértődni kell, hanem utánanézni, hogy a nevezett linux-disztrót hogy’ is írják hivatalosan. (megjegyzem, én még nem túl sok helyen láttam csupa nagybetűvel – mintha kiabálna 😉 )
Te se örülnél, gondolom, ha a neved valahol csupa kisbetűvel (nem félreérteni!), a vezetékneved végén y helyett i lenne, stb.Valamint: Operációs rendszerek között „Általános témák”?
Ezen nem megsértődni kell, hanem utánanézni, hogy a nevezett linux-disztrót hogy’ is írják hivatalosan. (megjegyzem, én még nem túl sok helyen láttam csupa nagybetűvel – mintha kiabálna 😉 )
Te se örülnél, gondolom, ha a neved valahol csupa kisbetűvel (nem félreérteni!), a vezetékneved végén y helyett i lenne, stb.Valamint: Operációs rendszerek között „Általános témák”?
Viszont a termék nevét illik helyesen leírni…
(pl. sokak hiedelmével ellentétben nincs olyan operációs rendszer, hogy winfos)
Viszont a termék nevét illik helyesen leírni…
(pl. sokak hiedelmével ellentétben nincs olyan operációs rendszer, hogy winfos)
Tony Magic wrote:Yóvanna, nem olvastam vissza a régieket…Összvissz az (hozzászólásod előtti) utolsó hozzászólást kellett volna csak észrevenned…
kisbetu wrote:Erre alkalmazva a teljes indukciót, egy 0 utasításból álló programot kapunk, amiben viszont van legalább egy hiba.És legalább egy fölösleges utasítás ;D
nanobit wrote:kisbetu! A ubit azért írtam nagy betűkkel, mert általában a háttérképeken meg kiírásokon így találkoznak vele.
Nem az a lényeg, hogy hogyan találkoznak vele, hanem hogy hivatalosan hogyan írják. Ennyi erővel pont azzal a betűtípussal/mérettel kellene írnod, mint ahogy „a háttérképeken meg kiírásokon találkoznak vele”, hogy szegénykéknek ne okozzon gondot, hogy piros helyett feketét látnak…
-
SzerzőBejegyzés
