Q. How do I write shell script to find Smallest and Greatest number in an array
Ans:
#!/bin/bash echo "enter size of an array" read n #taking input from user for((i=0;i<n;i++)) do echo " enter $((i+1)) number" read nos[$i] done #printing the entered number echo "number entered are" for((i=0;i<n;i++)) do echo ${nos[$i]} done #main loop small=${nos[0]} greatest=${nos[0]} for((i=0;i<n;i++)) do #logic for smallest number if [ ${nos[$i]} -lt $small ]; then small=${nos[$i]} #logic for greatest number elif [ ${nos[$i]} -gt $greatest ]; then greatest=${nos[$i]} fi done #printing smallest and greatest number echo "smallest number in an array is $small" echo "greatest number in an array is $greatest"
Output
Enjoy :)
If You Liked This Post Please Take a Time To Share This Post
Thanks shaikh ,its a really nice article. I have a doubt since I am newbie to shell scripting, I want to know how I can print the array elements with pair.
ReplyDeleteBasically I am looking something (x,y) format. Let's say we have an array such as array1=(5 4 6 2 9 3)
Find the greatest number from the array and print the biggest array with other elements of the array.
Output:
(9,2)
(9,3)
(9,4)
(9,5)
(9,6)
Editing the output of the array:
Delete(9,2)
(9,3)
(9,4)
(9,5)
(9,6)
(6,2)
(6,3)
(6,4)
(6,5)
(5,2)
(5,3)
(5,4)
(4,2)
(4,3)
(3,2)
An old article, but still pertinent. This is valid only for positive numbers, if you have negative ones, both the greatest & smallest numbers will be negative.
ReplyDelete