#32518: 有人可以幫我看看哪裡不對嗎?


chiyuhsuan (暄)

學校 : 不指定學校
編號 : 193909
來源 : [114.140.65.13]
最後登入時間 :
2023-01-07 13:52:10
b965. 2. 矩陣轉換 -- 2016年3月apcs | From: [211.23.3.222] | 發表日期 : 2022-10-18 12:55

#include <iostream>

 

using namespace std;

 

int main()

{

    int r, c, m, s[11][11], mm[11], h[11][11], t, i, j, k, l=0;

    while(cin >> r >> c >> m){

        for(i=1; i<=r; i++){

            for(j=1; j<=c; j++)

                cin >> s[i][j];

        }

        for (i=1; i<=m; i++)

            cin >> mm[i];

        

        for (k=1, t=0; k<=m; k++){

            if (mm[k]==1){

                for(i=1; i<=r/2; i++){

                    for(j=1; j<=c; j++){

                       t=s[i][j];

                        s[i][j]=s[r-i+1][j];

                        s[r-i+1][j]=t;

                    }

                }

            }

            else if(mm[k]==0){

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        h[i][j]=s[r-j+1][i];

                    }

                }

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        s[i][j]=h[i][j];

                    }

                }

                l=r;

                r=c;

                c=l;

            }

        }

        cout << r << " " << c << endl;

        for (i=1; i<=r; i++){

            for (j=1; j<c; j++)

                cout << s[i][j] << " ";

            cout << s[i][c] << endl;

        }

    }

    return 0;

}

 
#32584: Re: 有人可以幫我看看哪裡不對嗎?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
b965. 2. 矩陣轉換 -- 2016年3月apcs | From: [27.53.233.124] | 發表日期 : 2022-10-22 19:07

#include

 

using namespace std;

 

int main()

{

    int r, c, m, s[11][11], mm[11], h[11][11], t, i, j, k, l=0;

    while(cin >> r >> c >> m){

        for(i=1; i<=r; i++){

            for(j=1; j<=c; j++)

                cin >> s[i][j];

        }

        for (i=1; i<=m; i++)

            cin >> mm[i];

        

        for (k=1, t=0; k<=m; k++){

            if (mm[k]==1){

                for(i=1; i<=r/2; i++){

                    for(j=1; j<=c; j++){

                       t=s[i][j];

                        s[i][j]=s[r-i+1][j];

                        s[r-i+1][j]=t;

                    }

                }

            }

            else if(mm[k]==0){

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        h[i][j]=s[r-j+1][i];

                    }

                }

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        s[i][j]=h[i][j];

                    }

                }

                l=r;

                r=c;

                c=l;

            }

        }

        cout << r << " " << c << endl;

        for (i=1; i<=r; i++){

            for (j=1; j

                cout << s[i][j] << " ";

            cout << s[i][c] << endl;

        }

    }

    return 0;

}


題目看清楚,輸入的是矩陣B,要算出矩陣A

 
#32597: Re: 有人可以幫我看看哪裡不對嗎?


chiyuhsuan (暄)

學校 : 不指定學校
編號 : 193909
來源 : [114.140.65.13]
最後登入時間 :
2023-01-07 13:52:10
b965. 2. 矩陣轉換 -- 2016年3月apcs | From: [125.230.155.22] | 發表日期 : 2022-10-23 11:16

#include

 

using namespace std;

 

int main()

{

    int r, c, m, s[11][11], mm[11], h[11][11], t, i, j, k, l=0;

    while(cin >> r >> c >> m){

        for(i=1; i<=r; i++){

            for(j=1; j<=c; j++)

                cin >> s[i][j];

        }

        for (i=1; i<=m; i++)

            cin >> mm[i];

        

        for (k=1, t=0; k<=m; k++){

            if (mm[k]==1){

                for(i=1; i<=r/2; i++){

                    for(j=1; j<=c; j++){

                       t=s[i][j];

                        s[i][j]=s[r-i+1][j];

                        s[r-i+1][j]=t;

                    }

                }

            }

            else if(mm[k]==0){

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        h[i][j]=s[r-j+1][i];

                    }

                }

                for(i=1; i<=c; i++){

                    for(j=1; j<=r; j++){

                        s[i][j]=h[i][j];

                    }

                }

                l=r;

                r=c;

                c=l;

            }

        }

        cout << r << " " << c << endl;

        for (i=1; i<=r; i++){

            for (j=1; j

                cout << s[i][j] << " ";

            cout << s[i][c] << endl;

        }

    }

    return 0;

}


題目看清楚,輸入的是矩陣B,要算出矩陣A

哇真的耶,謝謝你

 
ZeroJudge Forum