吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3175|回复: 7
收起左侧

[C&C++ 转载] 【笔记】二维数组实现和二维数组的调换

[复制链接]
IBinary 发表于 2016-6-25 20:09
本帖最后由 奋斗丶小Z 于 2016-6-27 23:39 编辑

实现二维数组和二维数组的调换
int a[2][3] = {{1,2,3},{9,8,7}};//两行三列
int b[3][2] = {{0}{0}{0}};//三行两列,都赋值为0;实现功能b[3][2] = a[2][3] 吧a[2][3]赋值给b数组的b[3][2]

程序算法
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
     int a[2][3] = {{1,2,3},{9,8,7}};
    int b[3][2] = {{0}{0}{0}}//要事先定义两个变量,一个代表行,一个代表列,  这里分别定义i 和j
    int i ,j; //可以把它们带到数组里面,分别成为了a[j];b[j]//注意这里是放在for循环里面才行,因为数组不允许动态赋值
   for(i=0;i<=1;i++)//这里为什么是i<=1那?因为咱们事先先计算数组a然后赋值给b的所以a的下标是从0开始的,<=1就是执行了2次,而a就有2行三列
    {
         for(j=0;j<=2;j++)//为什么是2,因为是3列,所以下标是从0开始的,就实现了外部一次循环,内部进行了三次循环
         {
               printf("a = %d\n",a[j]);//打印出a的行和列,行是i 列是j
               b[j] = a[j];//这句话特别重要,为什么不是b[j]而是b[j] 首先i是行,咱们已经事先声明了b数组是3行2列,如果是i和j的话就成了b是2行三列了,而且数组不允许这样赋值,但是反过来想想那,如果把列给b[j] 吧行给b 是不是就和b[3][2]相对应了
               /*
              然后把a[j] = a[2][3] 赋值 给b就可以了.b[3][2] 可以存储b[2][3];事先数组互相转换然后输出B*/
              printf("b = %d\n",b[j]);           
      }
    }
   system("pause");//防止窗口一闪而过
   return 0;
}
如果帖子对你有帮助请给点CB和热心.我会不定时的把我所学的小算法上传的.
因为没有找到源码分享区,只能放在这里了.如果管理大大看到,或者帖子不该发在这种地方请@我一下,然后把我的帖子放在适合他的地方.谢谢.

免费评分

参与人数 2热心值 +2 收起 理由
ubuntu + 1 用心讨论,共获提升!
北鱼何为 + 1 给你吧

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

混丶沌灬 发表于 2016-6-25 22:32
前排前排
 楼主| IBinary 发表于 2016-6-25 23:05
ubuntu 发表于 2016-6-25 22:04
像我这种懒蛋一般就不给b数组赋初值了,支持楼主。

不要这样吗,不要偷懒,对自己的一个锻炼.
11212122 发表于 2016-7-1 22:34
你这样还不好理解,就按数组的定义来,

for( i = 0; i < Max; i++) 这个是不会越界的,

比如  Ary[3]

i = 2 的时候在第三个元素, i = 3的时候刚好就退出了,
 楼主| IBinary 发表于 2017-11-16 01:40
asip2001 发表于 2017-11-15 21:13
一维数组和二维数值都没有任何用处,不信你以后汇编语言

数组寻址而已,这里是高级语言.
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 08:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表