矩阵的翻转与旋转

#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;

}

相关推荐
Coder_Shenshen18 分钟前
罗克韦尔ACD工程归档离线变量树解析
算法·c#
BaiPeter34 分钟前
ZPL文件预览
开发语言·c++
心仪久了会沦陷2 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
小此方2 小时前
[算法实战论:动态规划]背包问题概念,01不满背包问题,01满背包问题,背包问题的滚动数组空间优化
算法·动态规划
悠仁さん3 小时前
【C++】哈希表
c++·算法·散列表
地平线开发者4 小时前
点云算法整理与常用计算模块:从数据到模型,再到工程与量化
算法·自动驾驶
Severus_black5 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
武子康6 小时前
H3-World 为何在加载 LoRA 前,先检查导入的代码?
人工智能·深度学习·算法
秋天的怀念_David7 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
敲上瘾7 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3