ďťż
 
 
   Skrypt w Bashu - mnożenie dwóch macieży
 
 

Tematy

 
    
 

 

 

 

Skrypt w Bashu - mnożenie dwóch macieży





misiek24 - 09-01-2009 20:48
Mam taki problem ponieważ na zaliczenie w szkole dostałem skrypt mnożący dwie macierze.
Znalazłem na forum skrypt, który sumuje dwie macierze. Jakby ktoś mógłby mi pomóc i napisać jak go zmienić aby mnożył te macierze byłbym bardzo wdzięczny. Próbuje już od kilku dni i nic z tego.

Podaje skrypt: #!/bin/bash

if test -f "suma.txt"
then
rm "suma.txt"
fi

if [ -a "dane1.txt" ]
then
rm "dane1.txt"
fi

if [ -a "dane2.txt" ]
then
rm "dane2.txt"
fi

wymiar=`cat konfig.txt | awk '{ print $1 }'` #wymiar macierzy pobrany z pliku

ilosc=$(($wymiar*$wymiar)) #ilosc wszystkich pozycji w macierzy

i=0
liczba1=1
wspX=1
wspY=1
while [ $i -lt $ilosc ] #petla tworzaca macierze w plikach dane1.txt oraz dane2.txt - macierze sa wypelnione cyframi 1-9
do
if [ $liczba1 -gt 9 ]
then
liczba1=1
fi

liczba2=$((10-$liczba1))

if [ $wspX -eq $wymiar ]
then
echo $liczba1 | awk '{ printf "%d\n", $1 }' >> dane1.txt
echo $liczba2 | awk '{ printf "%d\n", $1 }' >> dane2.txt
wspX=1
wspY=$(($wspY+1))
else
echo $liczba1 | awk '{ printf "%d ", $1 }' >> dane1.txt
echo $liczba2 | awk '{ printf "%d ", $1 }' >> dane2.txt
wspX=$(($wspX+1))
fi

if [ $wspY -gt $wymiar ]
then
break
fi

liczba1=$(($liczba1+1))
done

wspX=1
wspY=1
i=0
while [ $i -lt $ilosc ] #petla sumujaca macierze zawarte w plikach dane1.txt i dane2.txt
do

if [ $wspX -gt $wymiar ]
then
wspY=$(($wspY+2))
wspX=1
fi

zmienna1=`cat dane1.txt | awk '{ print $"'$wspX'" }'` #wyciagniecie kolomny okreslonej wspolrzedna X
zmienna1=`echo $zmienna1 | awk '{ print $"'$wspY'" }'` #wyciagniecie konkretnej cyfry
zmienna2=`cat dane2.txt | awk '{ print $"'$wspX'" }'`
zmienna2=`echo $zmienna2 | awk '{ print $"'$wspY'" }'`
suma=$((zmienna1+zmienna2))

if [ $wspX -eq $wymiar ]
then
echo $suma | awk '{ printf "%d\n", $1 }'
wspX=1
wspY=$(($wspY+1))
else
echo $suma | awk '{ printf "%d ", $1 }'
wspX=$(($wspX+1))
fi

i=$(($i+1))
done
misiek24 jest offline          Odpowiedź z Cytatem



brograf - 10-01-2009 00:49
Przekomplikowany ten skrypt, tu masz prostsze rozwiązanie sumowania macierzy: http://viable.pl/tutorial/145/preview/

Tu masz kurs basha http://www.uw-team.org/index.php?id=arty/bash_kurs .
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis