qhnw.net
当前位置:首页 >> C++ 中怎么把二维数组转成一维数组!!! >>

C++ 中怎么把二维数组转成一维数组!!!

#include <iostream> using namespace std; int main() { int a[10][10] = {0}; int b[10*10] = {0}; for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { b[i*10+j] = a[i][j]; } } return 0; } 明白了嘛?双层循环即可.注意我的数组大小我是假设你是知道的!

int i=0;for( m=0;m<3;m++) for( n=0;n<3;n++) { b[i]=a[m][n]; i++; }

#include "stdio.h" main() { int i,j,a[6]={1,2,3,4,5,6},b[2][3],t=0; for(i=0;i for(j=0;j { b[i][j]=a[t++]; } for(i=0;i for(j=0;j { printf("%3d",b[i][j]); } }

从逻辑角度说,不管几维的数组都是一个内存块的地址而已..比如 a[2][2] 内存实际上和 a[4] 无区别.本质上不需要转换,只需要在引用的时候对位置的坐标进行变换即可.如 a[1][0] 其实 可以换成一维的a[3].

不管是几维数组,其实都可以看作是一维的,同样,一维也可以看成几维的.int a[6] = {0, 1 ,2, 3, 4, 5}; // 一维数组 int b[2][3]; // 二维数组 int m = 2, n = 3; for (int i = 0; i { for (int j = 0; j { b[i][j] = a[i*n + j]; } } 把一维数组a转化成了二维数组b;

二维字符数组 list[0][0] 到 list[0][5] 就是 list[0]strcpy(colist,list[0]); 就存到一维 数组 里了.char 可以看成 1 byte 整型,插空白可以用for (i=0;i<5;i++) colist[i*2+1]=' ';复制可以用赋值:for (i=0;i<5;i++) colist[i*2]=list[0][i];#include <iostream>#include

数组在内存中是连续空间,所以直接强制转换就好了.c++中可以用 reinterpret_cast<char*>(/*要转换的二维数组*/).

二维数组给一维数组赋值有两种情况:1 按元素,逐个赋值到对应目标元素上.适用于所有情况,可以自定义规则,遍历二维数组,并赋值到一维数组的对应位置上.由二维数组的行列值计算出一维数组的偏移量,这部分算法可以随意设计,有

c#的代码 static void Main(string[] args) { string[,] str2s = new string[,] { { "a", "b", "c" }, { "d", "e", "f" } }; int iw = str2s.GetLength(0);//第一维度长度 int jw = str2s.GetLength(1);//第二维度长度 int _count=0; string[] arrs = new string[iw

1、例如:s1[0][0]是'w' s1[0][1]是'h' s1[1][0]是'f' 字符型数组,每个元素是一个字符,每一行是一个字符串.比如要打印while,就打印s1数组的第一行. 2、例程: #include<stdio.h> void main() { int i; char a[10]; char b[2][10]; for (i = 0; i != 2; ++i) { scanf("%s", a); strcpy(b[i], a); }

网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com