如何在shell脚本中执行数组加法乘法程序?

如何在shell脚本中执行数组加法乘法程序?

编写一个程序arr_calc来执行数组加法和数组乘法,该程序有4个参数:

参数 1:输入数组 A 的文件名
参数 2:输入数组 B 的文件名
参数 3:输出数组 C 的文件名
参数 4:计算(a 表示加法,m 表示乘法)

例如,arr_calc file1 file2 file3 a

答案1

使用 shell 编程:
这是一个用于将矩阵相加的 shell 脚本:

#!/bin/bash 

read -p "Enter the matrix order [mxn] : " t 
m=${t:0:1} 
n=${t:2:1} 

echo "Enter the elements for first matrix" 
for i in `seq 0 $(($m-1))` 
do 
for j in `seq 0 $(($n-1))` 
 do 
     read x[$(($n*$i+$j))] 
done 
done 

echo "Enter the elements for second matrix" 
for i in `seq 0 $(($m-1))` 
do 
for j in `seq 0 $(($n-1))` 
do 
    read y[$(($n*$i+$j))] 
    z[$(($n*$i+$j))]=$((${x[$(($n*$i+$j))]}+${y[$(($n*$i+$j))]})) 
done 
done 

echo "Matrix after addition is"  
for i in `seq 0 $(($m-1))` 
do 
for j in `seq 0 $(($n-1))` 
do 
    echo -ne "${z[$(($n*$i+$j))]}\t" 
done 
echo -e "\n" 
done 

exit 0 

对于矩阵乘法,您可以使用上面相同的逻辑。

相关内容