编写一个程序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
对于矩阵乘法,您可以使用上面相同的逻辑。