-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmatrix-operations-with-variable-cell-size.sh
46 lines (34 loc) · 1.39 KB
/
matrix-operations-with-variable-cell-size.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# Kullancııdan hücre genişliği belirlemesini istiyoruz.
declare cellwidth
read -p "Lütfen hücre genişliği giriniz(Kaça kaç bir matris oluşturmak istiyorsunuz?):" cellwidth
# declare komutu ile matris adında içi boş bir dizi oluşturuyoruz.
declare -a matris=()
#Index değeri ile matris dizisine yeni eleman ekliyoruz ve eleman ekledikçe döngü içerisinde index değerini arttırıyoruz.
index=0
# Matris değerlerini kullanıcıdan almak
for ((i = 0; i < $cellwidth; i++)); do
for ((j = 0; j < $cellwidth; j++)); do
ekleneceksayi=0
read -p "$(($i + 1)). satır, $(($j + 1)). sütunun elemanını giriniz: " ekleneceksayi
matris[$index]=$ekleneceksayi
index=$(($index + 1))
done
done
# Yukarıdaki döngüde ekleneceksayi değişkenini her döngü içerisinde sıfırlıyoruz ve indexi bir arttırıyoruz.
# İç içe döngü kullanılmasındaki sebep kullanıcıya daha derli toplu bir komut satırı arayüzü sunmak
# Matris değerlerini yazdırmak
for ((i=0; i<$cellwidth; i++)); do
for ((j=0; j<$cellwidth; j++)); do
index=$((i*$cellwidth+j))
printf "%d \t" ${matris[$index]}
done
echo
done
# Matris değerlerini toplamak ve ekrana yazdırmak
toplam=0
for ((i=0; i<$cellwidth * $cellwidth; i++)); do
toplam=$((toplam + matris[i]))
done
echo "Toplam: $toplam"
# Matris'in determinantını hesaplamak