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;
}
相关推荐
夜清寒风3 分钟前
opencv学习:图像掩码处理和直方图分析及完整代码
人工智能·opencv·学习·算法·机器学习·计算机视觉
594h25 分钟前
PAT 甲级 1002题
数据结构·c++·算法
snowful world36 分钟前
vs2022链表的创建和打印(c语言版)
c语言·数据结构·链表
繁依Fanyi1 小时前
828华为云征文|华为Flexus云服务器搭建OnlyOffice私有化在线办公套件
服务器·开发语言·前端·python·算法·华为·华为云
码了三年又三年1 小时前
【算法】滑动窗口—最小覆盖子串
算法
AIAdvocate1 小时前
力扣-96.不同的二叉搜索树 题目详解
python·算法·动态规划
说好不能打脸2 小时前
利用模糊综合评价法进行数值评分计算——算法过程
算法
小周的C语言学习笔记2 小时前
鹏哥C语言33---循环语句 for
c语言·c++·算法
shylyly_2 小时前
归并排序
数据结构·算法·归并排序·递归归并排序·非递归归并排序
luthane2 小时前
python 实现entropy熵算法
python·算法·概率论