Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #ha paraméteres feltételt kell ellenőrizni
- if (( $#!=0 )) ;then
- echo "paraméter nélkül kell meghívni!"
- exit
- else echo "így jó lesz"
- fi
- #előző matrix.dat fájl törlése
- rm matrix.dat
- touch matrix.dat
- for ((i=0;i<5;i++)) do #sorok
- declare -a row
- for ((l=0;l<5;l++)) do #oszlopok
- row[$l]=$(( ( RANDOM % 100 ) +1 ))
- done
- echo ${row[*]} >>matrix.dat #fájlfeltöltés
- done
- if [ $i != $l ] #ha játszol a mátrix méretével egy ellenőrzés
- then
- echo "nem négyzetes a mátrix"
- echo $i $l
- fi
- echo "matrix elemei" #matrix elemeinek kiiratása:
- cat matrix.dat
- echo
- #"középső sor elemeinek vizsgálata"
- n=$(expr $l / 2 + 1) #ez nem jó páros mátrixnál, így n értéke behelyettesíthető a megfelelő sorral
- echo $n".sor maximuma:"
- sed -n "$n"p matrix.dat | tr " " "\n"|sort -nr|head -n1
- echo $n".sor minimuma:"
- sed -n "$n"p matrix.dat | tr " " "\n"|sort -n|head -n1
- #főátló vizsgálata
- m=1;n=1
- for k in $(cat matrix.dat)
- do
- if (( $m==1 || m==7 || m==13 || m==19 || m==25 )) #elemkiválasztás
- then
- echo $m".elem"
- echo $k
- t[$n]=$k
- let n++
- fi
- let m++
- done
- #főátló elemeinek listázása
- echo "Főátló elemei: " ${t[*]}
- #főátló elemeből a legnagyobb
- echo "Főátló legkisebb eleme: "
- echo ${t[*]} | tr " " "\n"|sort -n|head -n1
- #mellékátló vizsgálata
- m=1;n=1
- for k in $(cat matrix.dat)
- do
- if (( $m==5 || m==9 || m==13 || m==17 || m==21 )) #elemkiválasztás
- then
- echo $m".elem"
- echo $k
- t[$n]=$k
- let n++
- fi
- let m++
- done
- #mellékátló elemeinek listázása
- echo "Mellékátló elemei: " ${t[*]}
- #mellékátló elemeből a legnagyobb
- echo "Mellékátló legnagyobb eleme: "
- echo ${t[*]} | tr " " "\n"|sort -n|tail -n1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement