標題:
[測驗紀錄] 2025/03/08
[打印本頁]
作者:
方浩葦
時間:
2025-3-8 10:47
標題:
[測驗紀錄] 2025/03/08
本週測驗題目:
APCS 實作題 10503-2 矩陣轉換
作者:
許浩浩
時間:
2025-3-8 13:54
#include<bits/stdc++.h>
using namespace std;
int d1[10][10],d2[10][10],o[10];
int r,c,m;
int main()
{
cin.tie(0);
cin.sync_with_stdio(0);
cin>>r>>c>>m;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cin>>d1[i][j];
}
}
for(int i=0;i<m;i++)
{
cin>>o[i];
}
for(int k=m-1;k>=0;k--)
{
if(o[k]==1)
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
d2[i][j]=d1[r-i-1][j];
}
}
memcpy(d1,d2,sizeof(d2));
}
else
{
int tmp=r;
r=c;
c=tmp;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
d2[i][j]=d1[j][r-i-1];
}
}
memcpy(d1,d2,sizeof(d2));
}
}
cout<<r<<" "<<c<<"\n";
for(int i=0;i<r;i++)
{
cout<<d1[i][0];
for(int j=1;j<c;j++)
{
cout<<" "<<d1[i][j];
}
cout<<"\n";
}
return 0;
}
複製代碼
作者:
黃暐鈞
時間:
2025-3-8 14:06
#include<bits/stdc++.h>
using namespace std;
int R, C, M, x;
int a[11][11], b[11][11];
void rFlip()
{
for (int i=0; i<R; i++)
{
for (int j=0; j<C; j++)
{
b[i][j] = a[i][j];
}
}
for (int i=0; i<R; i++)
{
for (int j=0; j<C; j++)
{
a[i][j] = b[R-1-i][j];
}
}
}
void rRotate()
{
for (int i=0; i<R; i++)
{
for (int j=0; j<C; j++)
{
b[i][j] = a[i][j];
}
}
for (int j=C-1; j>=0; j--)
{
for (int i=0; i<R; i++)
{
a[C-1-j][i] = b[i][j];
}
}
swap(R, C);
}
int main()
{
while (cin >> R >> C >> M)
{
for (int i=0; i<R; i++)
{
for (int j=0; j<C; j++)
{
cin >> a[i][j];
}
}
int op[M];
for (int i=0; i<M; i++)
{
cin >> op[i];
}
for (int i = M - 1; i >= 0; i--)
{
if (op[i] == 0) rRotate();
else rFlip();
}
cout << R << ' ' << C << '\n';
for (int i=0; i<R; i++)
{
for (int j=0; j<C; j++)
{
cout << a[i][j];
if (j < C-1)
{
cout << ' ';
}
}
cout << '\n';
}
}
return 0;
}
複製代碼
作者:
江家同
時間:
2025-3-8 14:20
#include<bits/stdc++.h>
using namespace std;
int r,c,m;
int d1[10][10],d2[10][10],o[10];
int main()
{
cin>>r>>c>>m;
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
cin>>d1[i][j];
for(int i=0;i<m;i++)
cin>>o[i];
for(int k=m-1;k>=0;k--)
{
if(o[k]==1)
{
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
d2[i][j]=d1[r-1-i][j];
memcpy(d1,d2,sizeof(d2));
}else
{
int tmp=r;
r=c;
c=tmp;
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
d2[i][j]=d1[j][r-1-i];
memcpy(d1,d2,sizeof(d2));
}
}
cout<<r<<" "<<c<<endl;
for(int i=0;i<r;i++)
{
cout<<d1[i][0];
for(int j=1;j<c;j++)
{
cout<<" "<<d1[i][j];
}
cout<<endl;
}
return 0;
}
複製代碼
作者:
郭博鈞
時間:
2025-3-8 14:21
#include<bits/stdc++.h>
using namespace std;
int r,c,m;
int d1[10][10],d2[10][10],o[10];
int main()
{
cin>>r>>c>>m;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cin>>d1[i][j];
}
}
for(int i=0;i<m;i++)
{
cin>>o[i];
}
for(int i=m-1;i>=0;i--)
{
if(o[i]==0)
{
int tmp=r;
r=c;
c=tmp;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
d2[i][j]=d1[j][r-1-i];
}
memcpy(d1,d2,sizeof(d2));
}else
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
d2[i][j]=d1[r-1-i][j];
}
memcpy(d1,d2,sizeof(d2));
}
}
cout<<r<<" "<<c<<endl;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<d2[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2