| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:怎样将一个数组随另一个数组的变化而变化?
只看楼主 加入收藏
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
结帖率:90.91%
收藏
已结贴  问题点数:5 回复次数:10 
怎样将一个数组随另一个数组的变化而变化?
例如:一个二维数组a[2][100],a[0][i]移到a[0][j],则a[1][i]也移到a[1][j]
为什么这段代码是错误的?
for(i=0;i<1000;i++)
for(j=0;j<999;j++)
{if(m[0][j]>m[0][j+1])
{k=m[0][j];
m[0][j]=m[0][j+1];
m[0][j+1]=k;k=m[1][j];
m[1][j]=m[1][j+1];
m[1][j+1]=k;}}
2011-04-10 15:35
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:2 
for(i=0;i<1000;i++)
for(j=0;j<999;j++)
{if(m[0][j]>m[0][j+1])
{k=m[0][j];
m[0][j]=m[0][j+1];
m[0][j+1]=k;k=m[1][j];
m[1][j]=m[1][j+1];
m[1][j+1]=k;}}
你的花括号不匹配
2011-04-10 15:42
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:2 
楼主把整段代码发出来呢,我自己试试没什么问题啊?
程序代码:
#include<stdio.h>
main()
{
    int i,j,k,m[2][3]={{2,1,3},{4,3,2}};
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        {
            if(m[0][j]>m[0][j+1])
            {
                k=m[0][j];
                m[0][j]=m[0][j+1];
                m[0][j+1]=k;
                k=m[1][j];
                m[1][j]=m[1][j+1];
                m[1][j+1]=k;
            }
        }
        for(i=0;i<2;i++)
            for(j=0;j<3;j++)
                printf("%d",m[i][j]);
}

2011-04-10 15:49
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
int x,y,z,a,b,c,d,m[2][1000],i=0,j,k;
for(a=100;a<999;a++)
{for(b=0;b<10;b++)
for(c=0;c<10;c++)
for(d=0;d<10;d++)
if(a==b*100+c*10+d)
switch(c)
{case 2:m[0][i++]=a;break;
case 3:m[0][i++]=a;break;
case 5:m[0][i++]=a;break;
case 7:m[0][i++]=a;break;}}
for(i=0;i<1000;i++)
{x=m[0][i]/100;
y=(m[0][i]-100*x)/10;
z=m[0][i]-100*x-10*y;
m[1][i]=x+y+z;
}
for(i=0;i<1000;i++)
for(j=0;j<999;j++)
{if(m[0][j]>m[0][j+1])
{k=m[0][j];
m[0][j]=m[0][j+1];
m[0][j+1]=k;
k=m[1][j];
m[1][j]=m[1][j+1];
m[1][j+1]=k;}}
for(i=0;i<100;i++)
printf("%5d",m[0][i]);
2011-04-10 15:53
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:0 
楼主我看不懂啊,首先你a=100,后面的b应该是代表百位这个数,那就不可能从0开始了,然后switch(c),这个选择结构语句你想表达个什么呢?里面的case结果都一样啊?直接把a赋给m[0][0]。
后面的
程序代码:
for(i=0;i<1000;i++)
{x=m[0][i]/100;
y=(m[0][i]-100*x)/10;
z=m[0][i]-100*x-10*y;
m[1][i]=x+y+z;
}
就是把m[0][i]的值赋给m[1][i]?可以直接在最前面多加for啊
2011-04-10 16:05
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:0 
程序代码:
for(i=0;i<1000;i++)
{x=m[0][i]/100;
y=(m[0][i]-100*x)/10;
z=m[0][i]-100*x-10*y;
m[1][i]=x+y+z;
}

m[1][i]=x+y+z;这个只是把3位数相加了赋值,不知道楼主的本意是不是这样。
最后楼主要求的选择条件
if(m[0][j]>m[0][j+1])
按照之前的赋值进行下去,貌似后1位的数永远小于前一个,所以这个恒不成立吧。。
至于if之前的for(i=0;i<1000;i++)不知道楼主是用来干什么的
2011-04-10 16:19
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
回复 5楼 逍遥乖乖
求100-999之间十位数是素数的数,并且按照各位数之和由小到大输出,就是本论坛上的一道题。
2011-04-10 16:20
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:0 
回复 7楼 hjywyj
楼主的也是这个意思,不像啊
2011-04-10 16:27
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
回复 8楼 逍遥乖乖
那你说怎么改啊?
2011-04-10 16:41
逍遥乖乖
Rank: 2
等 级:论坛游民
帖 子:44
专家分:56
注 册:2011-4-8
收藏
得分:0 
我等楼主发话呢
2011-04-10 16:58
快速回复:怎样将一个数组随另一个数组的变化而变化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013198 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved