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;
}
相关推荐
风筝在晴天搁浅7 小时前
LeetCode CodeTop 82.删除排序链表中的重复元素Ⅱ
算法·leetcode·链表
189228048617 小时前
NV114固态MT29F16T08EWLEHD6-MES:E
人工智能·算法·缓存·性能优化
不会就选b7 小时前
数据结构之链表OJ题(下)
数据结构·链表
Tairitsu_H7 小时前
[LC优选算法#4] 滑动窗口 | 串联所有单词的⼦串 | 最⼩覆盖⼦串
c++·算法·滑动窗口
devilnumber7 小时前
Java 二分查找(二分算法)详解 + 实战运用 + 核心坑点
java·开发语言·算法
洛水水7 小时前
【力扣100题】84.字符串解码
算法·leetcode·职场和发展
小七在进步7 小时前
数据结构:线性表之单链表
c语言·数据结构
MicroTech20257 小时前
量子隐形传态路线的瓶颈与突破,微算法科技(MLGO)以技术创新助力量子通信长距离组网
科技·算法·量子计算
洛水水7 小时前
【力扣100题】89.下一个排列
数据结构·算法·leetcode
爱代码的小黄人7 小时前
矩阵求逆引理(Sherman-Morrison-Woodbury公式)详解
线性代数·矩阵