当前位置: 首页 > article >正文

18070 矩阵行交换或列交换

### 思路
1. **行交换函数**:交换二维数组中指定的两行。
2. **列交换函数**:交换二维数组中指定的两列。

### 伪代码
1. **行交换函数**:
   - 遍历指定的两行的每一列。
   - 使用交换函数`swap`交换这两行对应列的元素。

2. **列交换函数**:
   - 遍历指定的两列的每一行。
   - 使用交换函数`swap`交换这两列对应行的元素。

### C++代码

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


http://www.kler.cn/a/300566.html

相关文章:

  • 实时音视频之医疗手术示教技术方案探究
  • DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed
  • [001-03-007].第26节:分布式锁迭代1->基于setnx命令实现分布式锁:
  • 08-图8 How Long Does It Take(C)
  • Java中的linkedList类及与ArrayList的异同
  • PoS 和 PoW 矿机系统区块链公链开发成本分析
  • 朴素贝叶斯 (Naive Bayes)
  • vue + Element UI table动态合并单元格
  • 前端CSS面试常见题
  • c#中的版本管理和描述
  • 函数的定义
  • Unity3d俯视视角下,通过点击屏幕获取世界坐标是如何实现的
  • windows通过wsl2安装linux系统之Ubuntu,傻瓜式安装
  • C++常用设计模式
  • 数据库视图和索引
  • 【iOS】Masnory的简单学习
  • 【PyQt6 应用程序】在用户登录界面实现密码密文保存复用
  • 若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
  • 在Faster Rcnn 中,rpn网络是单独训练的吗
  • django学习入门系列之第十点《A 案例: 员工管理系统5》