网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月09日漏签0天
c语言吧 关注:798,830贴子:4,356,093
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 11回复贴,共1页
<<返回c语言吧
>0< 加载中...

【二维数组】问题求教

  • 只看楼主
  • 收藏

  • 回复
  • l二货l
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
a[4][5]转换成b[4][5] 该怎么做?


  • ■□新dé□■
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
半夜了!


2025-06-09 11:03:44
广告
  • 雷家小帥
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
掐指一算,楼下,亚马逊出来吧


  • ღ我的小9馆ღ
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主在哪玩啊


  • 日光微凉2
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
关于鱼进脚盆
kk大一时养了二只金鱼,一只黑一只红,养的挺好的,还跨越了一个寒假
kk有次泡脚的时候,突发奇想的把红色的那只捞起来放进脚盆里,看鱼儿在她脚的四周欢快的游啊游。
yy看不下去,说小心把它烫死,kk不信,笑着说水不烫。
结果后来,红色的那只鱼被kk这样一折腾,死掉了。而黑色的那只,难耐寂寞,或者忍受不了这样一个主人,也挂了。
后来kk明白过来,在脚盆里那鱼儿不是欢快的游,那是鱼儿的垂死挣扎……【图片】


  • CS_lover
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
A矩阵中数据按行提取出来存放到一个一维数组中,再按列填充到B矩阵中


  • 少男乖啊
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第一个是按行存储,第二个是按列存储


  • ■□新dé□■
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//a[4][5]转换成b[4][5]
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a[4][5] = {1,2,3,4,5,
6,7,8,9,10,
11,12,13,14,15,
16,17,18,19,20};
int b[4][5];
int c[20];//行与列数目不同,不能直接转,,先转成一维数组
int i,j,t=0;
for(i=0;i<4;++i)//按行读取 4行
{
for(j=0;j<5;++j)//按列读取 每行有5列
{
c[t] = a[i][j];//把每次读的值赋给一维数组 c
++t;//c 的下标自增
}
}
t=0;//c 和下标清零
for(i=0;i<5;++i)//按列插入值(每行相同位置插入1个 4行组成一列)
{
for(j=0;j<4;++j)//每一列由4行组成
{
b[j][i] = c[t];//依次赋值
++t;
}
}
for(i=0;i<4;++i)//按4行5列循环打印
{
for(j=0;j<5;++j)
printf("%2d ",b[i][j]);
printf("\n");
}
return 0;
}
//结果如下:
// 1 5 9 13 17
// 2 6 10 14 18
// 3 7 11 15 19
// 4 8 12 16 20
//请按任意键继续. . .


2025-06-09 10:57:44
广告
  • Ring_Ka
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@l二货l 楼上那么写也真是麻烦到无语了,直接用两组行列数据,一组跑a数组行列,一组跑b组行列,只要对b组的进行行归0,列++的限制就可以了,谁说不能直接转换

源码:
#include<stdio.h>
main(){
int bh=0;
int bl=0;
int a[4][5] = {
1,2,3,4,5,
6,7,8,9,10,
11,12,13,14,15,
16,17,18,19,20
};
int b[4][5]={0};
for(int i=0;i<4;i++){//直接转换
for(int h=0;h<5;h++){
if(bh>3){//如果行溢出,列++,行归0
bl++;
bh=0;
}
b[bh][bl]=a[i][h];
bh++;
}
}
for(int i=0;i<4;i++){
for(int h=0;h<5;h++){
printf("%2d ",b[i][h]);
}
printf("\n");
}
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示