awk

awk

Hozzászólások

Sziasztok.
az alábbi szkipthez kellene segitség,mivel
nagy számokkal pl. 5555555555555555555*5555555555555555555555
hibásan számol

#!/bin/bash

if [ "$1" = "-help" -a $# -lt 2 ]
then cat <<EOF
Hasznalat unix3: parameterek <szam1> <szam2>

A szkript a parameterkent kapott ket tetszoleges hosszusagu, elojel
nelkuli numerikus egesz sztringet osszeszorozza, es az eredmenyt a
standard outputra irja.

EOF
exit 0
fi;

if [ -n "$3" ]
then
echo ""| awk '{print "tul sok parameter!" >"/dev/stderr"}';
exit 1;
fi

if [ -z "$1" ]
then
echo ""| awk '{print "parameter nelkuli futtatas!" >"/dev/stderr"}';
exit 1;
fi

echo $1 $2|awk '{
if ($3!=""){
print "Hibás paraméter!" >"/dev/stderr";
exit 1;
}
if ($1~/[^0123456789]/ || $2~/[^0123456789]/)
{
print "hibas parameter!" > "/dev/stderr";
exit 1;
}
else
{
oa=$1; ob=$2;
l1=length(oa); l2=length(ob);

for (u=0;u<l2+k;u++) string=string"0";
megj2=0;
for (i=0;i<l1;i++){
op=substr(oa,l1-i,1);

#megj=0;

for (j=0;j<l2;j++) {
o=substr(ob,l2-j,1);
z=(o*op)+megj;
beir=z%10;
megj=int(z/10);
ls=length(string);
string2="";
for (ii=0;ii<i;ii++) string2=substr(string,ls-ii,1)string2;

for(r=0;r<ls;r++){

if(r==j){
str1=substr(string,ls-r-i,1)+beir+megj2;
str2=str1%10;
megj2=int(str1/10);
string2=str2 string2;
}
else
{
string2=substr(string,ls-r-i,1) string2;
}
}
string=string2;
}
if (megj!=0 || megj2!=0) string=(megj+megj2) string;
}
if (length(string)>1) {
string2=substr(string, 1, 1);
while (string2==0){
string=substr(string,2,length(string)-1);
string2=substr(string, 1, 1);
}
}
print string;
exit 0;
}

}';

látom közeledik a beadási határidő. ez az 5. topic, amely arra hivatott, hogy megoldja a beadandóitokat :wink:

Hi!

Ha jol emlexem, akkor volt egy olyan topic, amikor osszeadast kellett irni, es ott volt egy olyan forras, ami szorozni tud.

By(t)e
TBS::Antiemes