首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

来吧,有分啊帮!解决办法

2012-02-23 
来吧,有分啊!帮!!!!!!!!!各位高手:在c里怎么实现二维动态数组啊比如:a[3][2]{{100,234},{101,234},{110,3

来吧,有分啊!帮!!!!!!!!!
各位高手:
      在c   里怎么实现二维动态数组啊
  比如:
    a[3][2]={{100,234},{101,234},{110,345}}
    b[3][2]={{100,2341},{102,3341},{110,3451}}
    c[1][2]={{100,2}}
           
最后得到下边的:
            100         234       2341             2
            101         234       9999       9999
            102       9999       3341       9999
            103       9999       9999       9999
            104       9999       9999       9999
            105       9999       9999       9999
            106       9999       9999       9999
            107       9999       9999       9999
            108       9999       9999       9999    
            109       9999       9999       9999
            110       345         3451       9999
那位大侠帮写一个c   语言的程序啊

[解决办法]
void main()
{
inta[3][2]={{100,234},{101,234},{110,345}};
int b[3][2]={{100,2341},{102,3341},{110,3451}};
int c[1][2]={{100,2}};

int d[11][4];
for (int i=0;i <11;i++)
{
for (int j=1;j <4;j++)
{

d[i][0]=100+i;
d[i][j]=9999;
}

}

for(i=0;i <3;i++)
{
for(int j=0;j <11;j++)
{
if(a[i][0]==d[j][0])
{
if (a[i][1] <1000&&a[i][1]> 100)
{
d[j][1]=a[i][1];
}
else if (a[i][1]> 1000&&a[i][1] <10000)
{
d[j][2]=a[i][1];
}
else if (a[i][1] <10)
{
d[j][3]=a[i][1];
}
}
}
}

for(i=0;i <3;i++)
{
for(int j=0;j <11;j++)
{
if(b[i][0]==d[j][0])
{
if (b[i][1] <1000&&b[i][1]> 100)
{
d[j][1]=b[i][1];
}
else if (b[i][1]> 1000&&b[i][1] <10000)
{
d[j][2]=b[i][1];
}
else if (b[i][1] <10)
{
d[j][3]=b[i][1];
}
}
}
}

for(i=0;i <3;i++)
{
for(int j=0;j <11;j++)
{
if(c[i][0]==d[j][0])
{
if (c[i][1] <1000&&c[i][1]> 100)
{
d[j][1]=c[i][1];
}
else if (c[i][1]> 1000&&c[i][1] <10000)
{
d[j][2]=c[i][1];
}
else if (c[i][1] <10)
{
d[j][3]=c[i][1];
}
}
}
}
for (i=0;i <11;i++)
{
for(int j=0;j <4;j++)
{
cout < < ' ';
cout < <d[i][j];
}
cout < <endl;


}
}

[解决办法]
好了
#include <stdio.h>
int main()
{
int **p;
int x,y,i;
scanf( "%d %d ",&x,&y);//x,y分别是行数和列数
p = (int **)malloc(sizeof(int **)*x);
for (i=0;i <x;++i)
p[i]=(int*)malloc(sizeof(int)*y);
for (i=0;i <x;++i)
free(p[i]);
free(p);
return 0;
}

热点排行