| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:2维数组如何存储到1维数组中
取消只看楼主 加入收藏
caochuan2000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:35
注 册:2009-4-11
结帖率:76.47%
收藏
已结贴  问题点数:20 回复次数:1 
2维数组如何存储到1维数组中
#include <stdio.h>
void change(int a[],int n);
void main()
{
    int i,j,(*b)[5],*p;
    int a[5][5]={34,35,57,32,12,46,768,67,98,54,43,87,96,54,778,89,4,345,656,7,767,45,656,767,3};
    b=a;
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
            p=*(b+i)+j;
    change(p,25);
    for(i=0;i<25;i++)
    printf("%d\n",*(p+i));
}
void change(int a[],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(a+j)<*(a+k))k=j;
if(k!=i){temp=*(a+k);*(a+k)=*(a+i);*(a+i)=temp;}
}
}

我本意是想把2维数组排序,可是不会写2维数组排序的程序...就写了个1维数组的排序,想把2维数组存到1维数组里排,可是程序运行不了,能帮我看看哪错了吗?

[ 本帖最后由 caochuan2000 于 2009-8-18 18:02 编辑 ]
搜索更多相关主题的帖子: change 
2009-08-18 17:58
caochuan2000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:35
注 册:2009-4-11
收藏
得分:0 
谢谢3楼!!
经过你的启发,我把程序了下就能正常运行了

#include <stdio.h>
void change(int a[],int n);
void main()
{
    int i,j,*p;
    int a[5][5]={34,35,57,32,12,46,768,67,98,54,43,87,96,54,778,89,4,345,656,7,767,45,656,767,3};
    p=&a[0][0];
    change(p,25);
    for(i=0;i<5;i++)
    for(j=0;j<5;j++)
    printf("%d\n",a[i][j]);
}
void change(int a[],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(a+j)<*(a+k))k=j;
if(k!=i){temp=*(a+k);*(a+k)=*(a+i);*(a+i)=temp;}
}
}
2009-08-18 18:42
快速回复:2维数组如何存储到1维数组中
数据加载中...
 
   



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

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