2016-08-19 100 views
-1

這裏是我用c語言編寫的代碼。但我不知道如何在bash腳本中編寫這段代碼。請,任何人都可以幫助我嗎?如何在bash shell腳本中編寫這種for循環?

int d,k[2][2]; 
    printf("enter the numbers:"); 
    for(i=0;i<2;i++){for(j=0;j<2;j++){ 
    scanf("%d",&k[i][j]);} //catch user input into 2D array 
    } 
+0

你也應該接受給出的解決方案,如果它的工作原理... –

回答

1

你可以使用這個;

#!/bin/bash 
declare -A array 
n_rows=$1 
n_columns=$2 
for ((i=1;i<=n_rows;i++)) do 
    for ((j=1;j<=n_columns;j++)) do 
    read -p "Enter number [$i, $j] = : " number 
     array[$i,$j]=$number 
    done 
done 

for ((j=1;j<=n_columns;j++)) do 
    for ((i=1;i<=n_rows;i++)) do 
     printf "%s " ${array[$i,$j]} 
    done 
    echo 
done 

例:

[email protected]:/tmp$ ./test.sh 2 2 
Enter nuber [1, 1] : 1 
Enter nuber [1, 2] : 2 
Enter nuber [2, 1] : 3 
Enter nuber [2, 2] : 4 
     1  3 
     2  4 
+0

它的工作原理。非常感謝muzido先生。 –

+0

@MohamedNuzhy你能接受答案嗎?如果有效,請撥打 –

+0

Muzido先生..你能幫我解決這個問題嗎?我有像P [],K [] [],T []數組的數量,我想在bash中的以下c代碼。我怎麼寫,請。 p [0] =(k [0] [0] * t [0])+(k [0] [1] * t [1]); –