在由二维矩阵转为一维数组时,我们有两种方式:以列为主和以行为主。

以列为主的二维矩阵转为一维数组时,转换公式为:

index=column+row×行数

以行为主的二维矩阵转为一维数组时,转换公式为:

index=row+column×列数

#include<iostream>

#include
<iomanip>

using
namespace std;

int main()

{

int
arr1[3][4] = { { 1, 2, 3, 4 },

{
5, 6, 7, 8 },

{
9, 10, 11, 12 }

};

int
arr2[12] = { 0 };

int
row, column, index;

cout <<
"原二维资料:"
<< endl;

for
(row = 0; row < 3; row++)

{

for
(column = 0; column < 4; column++)

cout << setiosflags(ios::left)
<< setw(4)
<< arr1[row][column];

cout << endl;

}

cout <<
"以列为主:"
<< endl;

for
(row = 0; row < 3; row++)

{

for
(column = 0; column < 4; column++)

{

index
= column + row * 4;

arr2[index]
= arr1[row][column];

}

}

for
(int i = 0; i < 12; i++)

cout << setw(4)<<arr2[i]
<< " " ;

cout << endl;

cout <<
"以行为主:"
<< endl;

for
(row = 0; row < 3; row++)

{

for
(column = 0; column < 4; column++)

{

index
= row + column * 3;

arr2[index]
= arr1[row][column];

}

}

for
(int i = 0; i < 12; i++)

cout << setw(4)
<< arr2[i]
<< " ";

cout << endl;

return
0;

}

多维矩阵转一维数组(c++)【转载】的更多相关文章

  1. 实现两个N*N矩阵的乘法,矩阵由一维数组表示

    实现两个N*N矩阵的乘法,矩阵由一维数组表示. 先介绍一下矩阵的加法: void Add(int rows, int cols) { ;i<rows;i++) { ;j<cols;j++) ...

  2. C语言经典算法 - 多维矩阵转一维矩阵的代码

    下边内容内容是关于C语言经典算法 - 多维矩阵转一维矩阵的内容,应该能对码农也有好处. #include <stdio.h>#include <stdlib.h>int mai ...

  3. 最大子矩阵和(二维矩阵转一维DP)

    题目描述 蒜头君拿到了一个矩阵,他想知道其中的最大非空子矩阵和是多少. 输入格式 第一行输入两个整数 n,m代表这个矩阵的行数和列数.接下来n行,每行m个整数 ai1,ai2,ai3⋯aim.(1≤m ...

  4. 学习笔记5—Python 将多维数据转为一维数组 (总结)

    <code class="language-python">import operator from functools import reduce a = [[1,2 ...

  5. 实现两个N×N矩阵的乘法,矩阵由一维数组表示

    此题的关键在于找到矩阵乘法的不变式! 例如: 矩阵a × 矩阵b = 矩阵ab 1 2 5 6 × 3 4 7 8 显然 ab[0] = a[0] * b[0] + a[1] * b[2] ab[1] ...

  6. CUDA学习之一:二维矩阵加法

    今天忙活了3个小时,竟然被一个苦恼的CUDA小例程给困住了,本来是参照Rachal zhang大神的CUDA学习笔记来一个模仿,结果却自己给自己糊里糊涂,最后还是弄明白了一些. RZ大神对CUDA关于 ...

  7. C语言一维数组转换为二维数组

    一维转二维代码示例: #include <stdio.h> #include <stdlib.h> #define ROW 3 #define COL 2 int main(i ...

  8. PHP开发小技巧③—实现多维数组转化为一维数组

    在平常的项目开发中我们多会用到让多维数组转化为一维数组的情况,但是很多Programmer不会将其进行转化,也有些没有想到很好的算法然后经过乱起八糟的运算方式将其勉强转化好,但是所写的程序代码冗余非常 ...

  9. php 数组去重 (一维数组与二维数组)

    数组中重复项的去除 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php                   $aa=array("apple" ...

随机推荐

  1. Git查看某一个文件的历史提交信息

    工作中我们有时候想要查看某一个文件的历史提交版本,] 还想看都修改过那些内容,那么这两个简单的命令就会帮到你了, 话不多说,comeBaby...... 1,首先查看一个文件的历史提交信息 git l ...

  2. ffmpeg基础使用

    https://www.jianshu.com/p/ddafe46827b7  

  3. Powershell-抛文档并捕获异常

    #source1 file location $source1 = "C:\users\me\desktop\test1" #dest1 file location $dest1 ...

  4. git指令集合

    原网页:https://www.linuxidc.com/Linux/2018-04/151809.htm Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文 ...

  5. 数据库开发-Django ORM的数据库迁移

    数据库开发-Django ORM的数据库迁移 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. Django 项目准备 1>.安装django包 pip install d ...

  6. Linux服务-rsync

    目录 1. rsync简介 2. rsync特性 3. rsync的ssh认证协议 4. rsync命令 5. rsync+inotify Linux服务-rsync 1. rsync简介 rsync ...

  7. MongoDB CPU利用率很高,怎么破(转)

    经常有用户咨询:MongoDB CPU 利用率很高,都快跑满了,应该怎么办? 遇到这个问题,99.9999% 的可能性是「用户使用上不合理导致」,本文主要介绍从应用的角度如何排查 MongoDB CP ...

  8. Android Handler机制彻底梳理

    Android的消息机制其实也就是Handler相关的机制,对于它的使用应该熟之又熟了,而对于它的机制的描述在网上也一大堆[比如15年那会在网上抄了一篇https://www.cnblogs.com/ ...

  9. selenium+python自动化99-清空输入框clear()失效问题解决

    前言 在使用selenium做UI自动化的时候,发现有些弹出窗上的输入框,输入文本后,使用clear()方法无效. 这样会导致再次输入时,字符串不是清空后输入,而是跟着后面输入一长串,导致结果不准. ...

  10. Java实现行列式计算

    前天我看线代书,看到行列式,发现是个递归的式子,恰巧又正在学java,产生写程序实现的想法.写了两个小时,觉得实现了,写了个行列式放进去测试,我放的是 这个行列式,经过程序计算后发现结果是0.我以为我 ...