Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.72 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #ha paraméteres feltételt kell ellenőrizni
  4. if (( $#!=0 )) ;then
  5.     echo "paraméter nélkül kell meghívni!"
  6.     exit
  7.     else echo "így jó lesz"
  8. fi
  9.  
  10. #előző matrix.dat fájl törlése
  11. rm matrix.dat
  12. touch matrix.dat
  13. for ((i=0;i<5;i++)) do  #sorok
  14.     declare -a row
  15.     for ((l=0;l<5;l++)) do      #oszlopok
  16.     row[$l]=$(( ( RANDOM % 100 ) +1 ))
  17.     done
  18.     echo ${row[*]} >>matrix.dat #fájlfeltöltés
  19. done
  20.  
  21.  
  22. if [ $i != $l ]                     #ha játszol a mátrix méretével egy ellenőrzés
  23. then
  24.     echo "nem négyzetes a mátrix"
  25.     echo $i $l
  26. fi
  27.  
  28. echo "matrix elemei"    #matrix elemeinek kiiratása:
  29. cat matrix.dat
  30. echo
  31.  
  32. #"középső sor elemeinek vizsgálata"
  33. n=$(expr $l / 2 + 1) #ez nem jó páros mátrixnál, így n értéke behelyettesíthető a megfelelő sorral
  34. echo $n".sor maximuma:"
  35. sed -n "$n"p matrix.dat | tr " " "\n"|sort -nr|head -n1
  36. echo $n".sor minimuma:"
  37. sed -n "$n"p matrix.dat | tr " " "\n"|sort -n|head -n1
  38.  
  39. #főátló vizsgálata
  40. m=1;n=1
  41. for k in $(cat matrix.dat)
  42. do
  43. if (( $m==1 || m==7 || m==13 || m==19 || m==25 )) #elemkiválasztás
  44.     then
  45.     echo $m".elem"
  46.     echo $k
  47.     t[$n]=$k
  48.     let n++
  49. fi
  50. let m++
  51. done
  52. #főátló elemeinek listázása
  53. echo "Főátló elemei: " ${t[*]}
  54. #főátló elemeből a legnagyobb
  55. echo "Főátló legkisebb eleme: "
  56. echo ${t[*]} | tr " " "\n"|sort -n|head -n1
  57.  
  58. #mellékátló vizsgálata
  59. m=1;n=1
  60. for k in $(cat matrix.dat)
  61. do
  62. if (( $m==5 || m==9 || m==13 || m==17 || m==21 )) #elemkiválasztás
  63.     then
  64.     echo $m".elem"
  65.     echo $k
  66.     t[$n]=$k
  67.     let n++
  68. fi
  69. let m++
  70. done
  71. #mellékátló elemeinek listázása
  72. echo "Mellékátló elemei: " ${t[*]}
  73. #mellékátló elemeből a legnagyobb
  74. echo "Mellékátló legnagyobb eleme: "
  75. echo ${t[*]} | tr " " "\n"|sort -n|tail -n1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement