| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5118 人关注过本帖
标题:定义一个一维数组,数组大小未知,将在程序运行过程中得到,如何实现?
取消只看楼主 加入收藏
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:4 
定义一个一维数组,数组大小未知,将在程序运行过程中得到,如何实现?
例如:
#include<iostream>
#include<fstream>
using namespace std;
#define M 3
#define N 2
#define P 2
#define n (M+1)*(N+1)*(P+1)
int main()
{
    int i,j,k,count=0,m=0;
    cout<<M<<"  "<<N<<"  "<<P<<endl;
    cout<<n<<endl;
    int Ap[n+1];
    int a[n][n];
        /*此处为稀疏矩阵的元素确定*/
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            cout<<a[i][j]<<" ";
            if(a[i][j]!=0)
                m+=1;
        }
        cout<<endl;
    }
    ofstream outfile1;
    outfile1.open("D:\\2013IBM\\coefficient\\Array of A\\a[i][j].txt",ios::out);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            outfile1<<a[i][j]<<" ";
        }
        outfile1<<endl;
    }
    outfile1<<endl;
    outfile1.close();

    int Ai[m];  //数组大小m这样定义不正确,怎么办?m为矩阵a中的非零个数个数
    double Ax[m];
    Ap[0]=0;
    for(j=0;j<n;j++)
    {
        for(i=0;i<n;i++)
        {
            if(a[i][j]!=0)
            {
                count+=1;
                Ai[n-1]=i;
                Ax[n-1]=a[i][j];
            }
            Ap[j+1]=count;
        }
    }
    for(j=0;j<n+1;j++)
    {
        cout<<Ap[j]<<" ";
    }
    cout<<endl;
    ofstream outfile2;
    outfile2.open("D:\\2013IBM\\coefficient\\Array of A\\Ap.txt",ios::out);
    for(j=0;j<n+1;j++)
    {
        outfile2<<Ap[j]<<" ";
    }
    outfile2<<endl;
    outfile2.close();

    for(j=0;j<count;j++)
    {
        cout<<Ai[j]<<" ";
    }
    cout<<endl;
    ofstream outfile3;
    outfile3.open("D:\\2013IBM\\coefficient\\Array of A\\Ai.txt",ios::out);
    for(j=0;j<count;j++)
    {
        outfile3<<Ai[j]<<" ";
    }
    outfile3<<endl;
    outfile3.close();

    for(j=0;j<count;j++)
    {
        cout<<Ax[j]<<" ";
    }
    cout<<endl;
    ofstream outfile4;
    outfile4.open("D:\\2013IBM\\coefficient\\Array of A\\Ax.txt",ios::out);
    for(j=0;j<count;j++)
    {
        outfile4<<Ax[j]<<" ";
    }
    outfile4<<endl;
    outfile4.close();
}
搜索更多相关主题的帖子: include count 如何 元素 
2015-08-08 16:18
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:0 
具体点,动态内存分配的话,也需要在定义一维数组时指定一个数组大小才可以?如果不指定数组大小可以不?
2015-08-08 16:34
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:0 
这是C++啊,不是C语言!
2015-08-08 16:49
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:0 
容器这一章我还不怎么会!
2015-08-08 16:49
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:0 
这没啥影响的,大家都能看到!呵呵,好吧!我了解了!
2015-08-08 18:27
快速回复:定义一个一维数组,数组大小未知,将在程序运行过程中得到,如何实现? ...
数据加载中...
 
   



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

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