矩阵的翻转与旋转

#include <bits/stdc++.h>

using namespace std;

vector<vector<int>>flipleftright(vector<vector<int>>m) {

for (auto &row : m) {

reverse(row.begin(), row.end());

}

return m;

}

vector<vector<int>>flipupdown(vector<vector<int>>m) {

reverse(m.begin(), m.end());

return m;

}

vector<vector<int>>rotates(vector<vector<int>>m) {

if (m.empty()) {

return m;

}

int cols = m0.size();

int rows = m.size();

vector<vector<int>>transm(cols, vector<int>(rows));

for (int i = 0; i < rows; i++) {

for (int j = 0; j < cols; j++) {

transmji = mij;

}

}

return flipleftright(transm);

}

vector<vector<int>>rotaten(vector<vector<int>>m) {

if (m.empty()) {

return m;

}

vector<vector<int>>newm = flipleftright(m);

int cols = newm0.size();

int rows = newm.size();

vector<vector<int>>transm(cols, vector<int>(rows));

for (int i = 0; i < rows; i++) {

for (int j = 0; j < cols; j++) {

transmji = newmij;

}

}

return transm;

}

int main() {

int m, n;

cin >> m >> n;

vector<vector<int>>a(m, vector<int>(n));

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

cin >> aij;

}

}

string s;

cin >> s;

for (size_t i = 0; i < s.size(); i++) {

if (si == 'A') {

a = rotates(a);

} else if (si == 'B') {

a = rotaten(a);

} else if (si == 'C') {

a = flipleftright(a);

} else if (si == 'D') {

a = flipupdown(a);

}

}

for (size_t i = 0; i < a.size(); i++) {

for (size_t j = 0; j < a0.size(); j++) {

cout << aij << " ";

}

cout << endl;

}

return 0;

}

相关推荐
碧海银沙音频科技研究院11 分钟前
基于炬芯ATS308X的LE aduio LC3编解码算法功能实现
算法
小蒋观天下13 分钟前
厂区人员徘徊游荡判别——基于时序轨迹速度的逗留行为分级算法落地
大数据·人工智能·深度学习·算法·机器学习·ai大模型
程序员清风18 分钟前
堆与优先队列:从 Top K 到任务调度
java·数据结构·算法
shaibdoio19 分钟前
瞬维AI技术拆解:AI获客智能体的双层漏斗算法原理
大数据·人工智能·算法
宛 禾29 分钟前
Qt 控件入门:QLabel 从拖拽到对象树,一篇讲透
c++·qt·学习
suhan30 分钟前
【数据结构】四、串:串string、模式匹配BF\KMP、广义表
数据结构·后端·算法
hetao173383741 分钟前
联盟场-提高组-R7 & ZYZSC-S-Round 11
c++·算法
程序喵大人44 分钟前
【C++入门】编译链接模型 - 07 链接器怎样把符号对上号
开发语言·c++·编译器·编译链接·链接器
啵啵啵鱼1 小时前
第二章 线性表
java·数据结构·算法
虾..1 小时前
计算机图形学:几何表示
算法