Hirdetés
- Petabájtos SSD-ről ábrándozik a SanDisk
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- Riasztó topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Nvidia GPU-k jövője - amit tudni vélünk
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Milyen belső merevlemezt vegyek?
- Gaming notebook topik
- Sony MILC fényképezőgépcsalád
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
Új hozzászólás Aktív témák
-
loszerafin
senior tag
válasz
loszerafin #169 üzenetére
Vagy:
Mindent kitörölni, ami nem sakkbábú-betű, betűnként újsorba tenni (=>minden sorban egyetlen betű lesz, azaz annyi sor, ahány bábú), sort-olni, uniq -c -vel megszámolhatod egyszerre, miből hány van.
Ezzel csak azt akarom mondani, hogy mindenre 1000+1 megoldás van. -
peterszky
őstag
válasz
loszerafin #164 üzenetére
köszi mindet
ma beszéltem egy évfolyamtársammal ( most mondta, hogy készen van velük ) és kérdezgettem, hogyan lenne érdemes
bemenet: két read, így a többit nem veszi figyelembe
ellenőrzés: sok if és grep egyszerű módon
pl a bástya ellenőrzésénél:
greppel kiszedni a 3 betűs kifejezések első betűjét ( jelen esetben B vagy b, mert bástya ) és azt megnézni, hogy 2nél több-e, ha igen, akkor hiba
ezek alapján nagyjából meg tudom csinálni ( azaz nagyon remélem)
-
Jester01
veterán
válasz
loszerafin #143 üzenetére
Ugyanez bash shell script formájában:
for ((r=1; r<=8; r++))
do
for ((c=1; c<=8; c++))
do
if [[ $(( (r+c) % 2 )) == 0 ]]
then
TABLA[$((r * 8 + c))]='' ''
else
TABLA[$((r * 8 + c))]=''*''
fi
done
done
while read f c r
do
TABLA[$((r * 8 + c))]=''$f''
done
for ((r=1; r<=8; r++))
do
echo -n ''|''
for ((c=1; c<=8; c++))
do
echo -n ''${TABLA[r * 8 + c]}''
done
echo ''|''
done
Azt hiszem magától értetõdõ, leszámítva, hogy kevésbé olvasható.
Annyit fûznék még hozzá, hogy bash-ban nincs 2 dimenziós tömb (illetve asszociatív - az awk-ban ez van) ezért ki kellett lapítani egy dimenziósra a sakktáblát. -
peterszky
őstag
válasz
loszerafin #145 üzenetére
a hozzászólást lehet töröltetni
egyébként nagyon szépen köszönöm! ilyesmi információra lett volna szükségem, hogy legyen valami, amin elindulhatok. remélem azért még gyakon is kapunk valami használható parancsokat. tényleg nagyon sokat segítettél
a hsz-okat elmentettem, ha lesz még valami gondom, akkor priviben megkereslek, ha nem gond.
[Szerkesztve] -
loszerafin
senior tag
válasz
loszerafin #144 üzenetére
Még annyit, hogy mire be kell adni, a google már indexeli ezt a fórumot, a tanár meg könnyedén rá fog találni a linkedre.
-
loszerafin
senior tag
válasz
loszerafin #143 üzenetére
Indítás:
awk -f sakk.awk myinput
Írj köré bash programot, ami
1. Ellenőrzi az inputot
2. Átalakítja úgy, hogy jó legyen ennek az awk scriptnek -
peterszky
őstag
válasz
loszerafin #141 üzenetére
igen, első félévem az iskolában és kb 0ról kezdtem a Linuxot, ezt nem írtam.
ahogy hazaértem átnézem azokat amiket írtál
az a gondom, hogy ilyen mátrixszerűségekről még szó sem volt, de a beadandóban kérik
és most 3 hétig nem is lesz EA, mert okt 23 aztán szünet, utána meg már be kell adni a dolgot
mégegyszer köszi, hogy segítesz, ha tudom majd meghálálom
[Szerkesztve] -
loszerafin
senior tag
válasz
loszerafin #140 üzenetére
Még egy kis info:
Van egy módszer, felülről-lefelé-nek hívják:
0.
Az inputnak megfelelően kiírom a bábukat tartalmazó sakktáblát.
1.
a,Beolvasom az inputot
b,Kiszámolom az eredményt
c,Kiírom az eredményt
2.
a1,Beolvasom a sorokat
a2,Szétbontom a sorokat
a3,Ellenőrzöm a részeket
b1,Szétbontom a részeket bábú-oszlop-sor részekre
b2,Ráteszem az elképzelt sakktáblámra a bábukat
c, Kiírom a sakktáblámat
De lehetne alulról-felfelé is építkezni:
Ahhoz, hogy kiírjam egy sakktábla képét, előszőr tárolnom kell.
Legyen , pl. egy mátrixom: TABLA[s,o] értéke legyenn a s. sor és o.adik oszlopban levő figura neve.
Kell nekem egy Táblára parancs, ami betesz egy figurát a táblára, meg egy Kiír parancs, ami kiírja a táblát. Meg kellene egy Beolv parancs, ami beolvas egyetlen bábuállást.
Persze kellene egy Sorbeolv, ami beolvas egy sornyi bábuállást. Ez nem állna másból, mint pár Beolv-ból.
Akkor jó lenne egy KétsorBeolv, ami két Sorbeolv lenne.
stb....
És még van sok egyéb.
Hogy melyiket választod, édesmindegy, csak az eredmény legyen jó.
A JÓ nem csak azt jelenti, hogy működik. Fontos szempontok
(KISS)
a, egyszerűség
b, részekre legyen bontva, a részek egyetlen egy dolgot csináljanak, de azt jól
c, legyen dokumentált
d, hibás inputra se szálljon el
e, Kerüld el a kerék felfedezését, használj már meglévő parancsokat
Sajnos, azt kell mondjam, a shell programozás abban némiképp eltér a hagyományos programozástól, hogy az ember itt próbálkozik. Pár meglévő parancs összekapcsolásával írják a scripteket, majd egyre bonyolítják, egy szint után pedig önálló részekre szedik.
De ehhez bizony ismerni kell a parancsokat és a gyakori kapcsolóikat. -
loszerafin
senior tag
válasz
loszerafin #139 üzenetére
Jajj, bocsi, elsőéves vagy, azaz most kezdted.
Én vmiért azt gondoltam, hogy már egy évet lehúztál.
Ebben az esetben teljesen kezdő vagy?
Akkor viszont ez túl mély víz. Még algoritmust se tudsz írni? Akkor minek ilyen feladat?
De hát volt felvételi, nem? Vagy az nem programozásból volt?
Na, szóval:
Próbáld meg leírni magadnak, hogy oldanád meg a feladatot, ha Te volnál a számítógép.
Több lépésben:
1. fogalmazd meg a feladatot, saját magadnak érthetően.
2. Próbáld megoldani a feladatot papíron, azaz tervezz magadnak különböző inputokat, és
rajzold meg hozzá a kimenetet.
3. Próbáld egyre ''gépiesebben'' megoldani, azaz egyre kevésbé használd az eszed a megoldáskor. Az intuíciódat teljesen kapcsold ki. Kb. egy 1,5-3 éves gyerek szintjére ''süllyedj'' le, aki mindent szó szerint vesz és csak a szájába rágott dolgokat tudja megcsinálni, azokból is max. 1-2 lépést tud egyszerre megjegyezni.
4. Egyre jobban támaszkodj ismétlődő, egyszerű lépésekre. Ezeket az egszerű lépéseket nevezd el találóan (=rövid, de velős név)
5. A látásodat szűkítsd le egyetlen sakk-mezőre és a szemed vezéreld a táblán parancsokkal.
6. Játszd el, hogy sakk-robot vagy, akinek egyetlen feladata a táblára tenni a figurákat, a betáplált állásnak megfelelően.
7. A memóriád szűkítsd le néhány rekeszre, ezekbe egyszerű dolgokat tehetsz, de ezután csak a betett dolgokra emlékezhetsz.
Írd ide a végső megoldási lépéseidet. -
peterszky
őstag
válasz
loszerafin #137 üzenetére
lehet, hogy ez egy hülye kérdés lesz
az a leírás nem valami algoritmus szerűség?
Új hozzászólás Aktív témák
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Petabájtos SSD-ről ábrándozik a SanDisk
- EAFC 25
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- BMW topik
- Formula-1
- A fociról könnyedén, egy baráti társaságban
- World of Tanks - MMO
- One mobilszolgáltatások
- Riasztó topik
- További aktív témák...