Hozzászólások
És még cifrázzák is! Csináld meg több variációban is, hogy ne hasonlítsanak egymásra a megoldások... :lol:
- A hozzászóláshoz be kell jelentkezni
sztem, ha már ilyen szőrszálhasogatás megy, hogy nem lehet bct használni, akkor én awk biztos, de lehet, hogy sed-et sem engedtem volna :)
nade azt elérték, hogy elhatároztam, hogy mostmár csakazértis meg fogom írni én is - nem lehet az olyan nehéz :D
- A hozzászóláshoz be kell jelentkezni
Azért köszi...
- A hozzászóláshoz be kell jelentkezni
[quote:629dcdd93f="Vendég"]
Tipp: fogd a két számot, szedd szét egy arrayba (bash supportál ilyet), és hátulról adogasd össze, ahogy papíron tennéd. Ugyanazt az algoritmust kell lekódolni, az meg csak megy
[code:1:629dcdd93f]echo $((00000000000002+00000000000003))[/code:1:629dcdd93f]
Szerinted ez mit csinál :?:
Méghogy tömbök :lol:
Esetleg próbáld meg valami nagyobb számmal. Cirka 32bites intig expr-el is megy, és az mégcsak nem is bash specifikus. Meglepődnék ha a shelled két kétszáz jegyből álló (sok 0 elöl nem számít :P) számot össze tudna adni csak úgy :P
Kivéve persze, ha 64 bites architekturán vagy, de még ott is van limit :)
- A hozzászóláshoz be kell jelentkezni
[quote:c8c2124b5d="vmiklos"]sztem, ha már ilyen szőrszálhasogatás megy, hogy nem lehet bct használni, akkor én awk biztos, de lehet, hogy sed-et sem engedtem volna :)
nade azt elérték, hogy elhatároztam, hogy mostmár csakazértis meg fogom írni én is - nem lehet az olyan nehéz :D
Awk nélkül megcsináltam, amire sedet használok azt lehet, sőt valószínű, hogy bash builtinekkel is meg tudtam volna csinálni, és akkor csak expr-t használ a script, mint külső program, minden más bash builtin :)
Cirka 15 perc, szal nem egy nagy ördőngősség... Csak logika és man bash kell hozzá ;)
- A hozzászóláshoz be kell jelentkezni
gondoltam, hogy nem egy nagy dolog :lol:
- A hozzászóláshoz be kell jelentkezni
Erre a feladatra kéne megoldásban segítség, vagy teljes megoldás :) :
Írjon Unix scriptet, ami a paraméterként kapott két tetszőleges hosszúságú (amit a Unix megenged), előjel nélküli numerikus egész stringet összeadja, és az eredményt a standard outputra írja.
Ha az összeadás sikerült akkor 0, egyébként (paraméterhiba esetén) 1 legyen a parancs státusz kimenete. Utóbbi esetben a megfelelő hibaüzenet a standard error-ra kerüljön.
A kiindulási adatok tartalmazhatnak értéktelen vezető nullákat, az eredmény nem.
A script nem használhatja a bc és dc parancsokat! (A megoldás a "bc" vagy "dc" stringet sem tartalmazhatja!)
Örülnék ha valaki megszánna és segítene...
Köszi
- A hozzászóláshoz be kell jelentkezni
Szia!
Nézted a Bash programozás topikot a fórum/Programozás....... alatt? Szerintem ott megtalálod azt amit keresel :wink:.
- A hozzászóláshoz be kell jelentkezni
Átkukkantok oda is...
Köszi
- A hozzászóláshoz be kell jelentkezni
[quote:a950b5f62a="Tope"]Erre a feladatra kéne megoldásban segítség, vagy teljes megoldás :) :
...
Ejnyebejnye... programozási környezet feladat megoldását itt keresni... :)
Tipp: fogd a két számot, szedd szét egy arrayba (bash supportál ilyet), és hátulról adogasd össze, ahogy papíron tennéd. Ugyanazt az algoritmust kell lekódolni, az meg csak megy :)
- A hozzászóláshoz be kell jelentkezni
Tipp: fogd a két számot, szedd szét egy arrayba (bash supportál ilyet), és hátulról adogasd össze, ahogy papíron tennéd. Ugyanazt az algoritmust kell lekódolni, az meg csak megy
[code:1:bbc7dfcdaf]echo $((00000000000002+00000000000003))[/code:1:bbc7dfcdaf]
Szerinted ez mit csinál :?:
Méghogy tömbök :lol:
- A hozzászóláshoz be kell jelentkezni
Tfh. egyik szam van a $bignum1-ben a masik a $bignum2-ben. Ekkor
tmp=${bignum1%?};
d1=${bignum#$tmp};
bignum1=$tmp;
utan $d1 tartalmazza $bignum1 utolso jegyet, ami lecsipodik a vegerol.
Ha ugyanezt vegrehajtjuk $bignum2-re akkor adjuk ossze $d1-et es $d2-t.
ds=$[ d1 + d2 ];
Kepezzuk az osszeg utolso szamjegyet (hasznalhatjuk
a beepitett aritmetikat mert $ds <= 18) es rakjuk el emlekbe.
o=$[ ds % 10 ];
sum="${sum}${o}";
Shifteljuk ds-t.
ds=$[ ds / 10 ];
Ezek utan $ds carryerkent szolgal, amelynek erteket hozza kell majd
adni a tovabbi $d1+$d2 osszegekhez.
A ciklust folytassuk addig amig $bignum1 es $bignum2 elfogy.
Irjuk ki $sum-ot.
echo "$sum";
That's all.
- A hozzászóláshoz be kell jelentkezni
[quote:93b9bf9d27="Vendég"]
Tipp: fogd a két számot, szedd szét egy arrayba (bash supportál ilyet), és hátulról adogasd össze, ahogy papíron tennéd. Ugyanazt az algoritmust kell lekódolni, az meg csak megy
[code:1:93b9bf9d27]echo $((00000000000002+00000000000003))[/code:1:93b9bf9d27]
Szerinted ez mit csinál :?:
Méghogy tömbök :lol:
[code:1:93b9bf9d27]
hmm, szerinted ezt mit csinál
echo $((20000000000000000000000000000+1)) ;)
mert nem azt amit kéne, es erre is mukodie kell. ( tudom mert en is megirtam mar a magam + ado scriptjet, termesztesen nem magamnak.
ps: szánalmas hogy minden egy progmatos itt iratja a prog-korny feladatát, csak leégetik a progmatot.
[/code:1:93b9bf9d27]
- A hozzászóláshoz be kell jelentkezni
hmm, szerinted ezt mit csinál
echo $((20000000000000000000000000000+1)) ;)
mert nem azt amit kéne, es erre is mukodie kell. ( tudom mert en is megirtam mar a magam + ado scriptjet, termesztesen nem magamnak.
Írjon Unix scriptet, ami a paraméterként kapott két tetszőleges hosszúságú (amit a Unix megenged)
Én a zárójelben foglaltak miatt úgy értelmeztem hogy max 32 bites előjel nélküli egész, amit a unix megenged 8)
Ha mégsem így van akkor bocs...
- A hozzászóláshoz be kell jelentkezni
ha még olvassa valamelyik progmatos ezt a topicot, akkor ideírhatná, hogy végülis a legnagyobb számnak csak akkornának kell lenni, amit a $(())-lel össze lehet adni, vagy télleg le kellett kódolni az "összeadást írásban"-t :wink:
- A hozzászóláshoz be kell jelentkezni
A CSA oldalan vannak teszt adatok a feladatokhoz es ott van igenigenigen hosszu tobb sor !!! bankifero szamok is.
- A hozzászóláshoz be kell jelentkezni
kösz az infót, akkor tehát nem sikerült túlbonyolítani a feladatot :oops:
[quote:9262a05657="selli"]
ps: szánalmas hogy minden egy progmatos itt iratja a prog-korny feladatát, csak leégetik a progmatot.
az az igazság, hogy senki semmit nem szólna, ha 1valaki megkérdezné
de ha tömegesen jönnek... :wink:
- A hozzászóláshoz be kell jelentkezni