18070 矩阵行交换或列交换

思路

  1. **行交换函数**:交换二维数组中指定的两行。

  2. **列交换函数**:交换二维数组中指定的两列。

伪代码

  1. **行交换函数**:
  • 遍历指定的两行的每一列。

  • 使用交换函数`swap`交换这两行对应列的元素。

  1. **列交换函数**:
  • 遍历指定的两列的每一行。

  • 使用交换函数`swap`交换这两列对应行的元素。

C++代码

cpp 复制代码
#include <stdio.h>

void swap(int *a, int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

void col(int a[][4], int i, int j)
{
    for (int k = 0; k < 4; k++)
    {
        swap(&a[k][i], &a[k][j]);
    }
}

void row(int a[][4], int i, int j)
{
    for (int k = 0; k < 4; k++)
    {
        swap(&a[i][k], &a[j][k]);
    }
}

int main()
{
    int a[4][4];
    int i, j;
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
            scanf("%d", &a[i][j]);
    col(a, 0, 2);
    row(a, 0, 2);
    col(a, 1, 3);
    row(a, 1, 3);
    col(a, 0, 3);
    row(a, 0, 3);
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    return 0;
}
相关推荐
8Qi812 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划
小宋加油啊16 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
lqqjuly16 小时前
前沿算法深度解析(一)
算法
小欣加油17 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
happymaker062619 小时前
LeetCodeHot100——42.接雨水
算法
阿正的梦工坊20 小时前
【Rust】07-错误处理:Option、Result 与 ? 运算符
开发语言·算法·rust
烬羽20 小时前
从零理解树与二叉树:用 JS 带你手撕遍历和递归
javascript·数据结构
YHL20 小时前
🚀从零理解树与二叉树 —— 概念、实现与遍历
前端·javascript·数据结构
JieE21221 小时前
JS 到底有多少种数据类型?从ECMA规范到内存本质,一文彻底搞懂
javascript·数据结构·面试