| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1942 人关注过本帖
标题:请教个问题,读入txt文件中的特定行特定列数据,并保存到一个二维数组中去
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wo严在2015-8-27 16:11:38的发言:

我这里51和341都是确定的,因为这是一个分析软件,设定的就是51和341,所以得到的结果里面这两个数不变的

那可以直接在全局数据区中分配出固定的二维数组,然后参照我Load_Data()函数中的手法把数据读进去。

授人以渔,不授人以鱼。
2015-08-27 16:18
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 21楼 TonyDeng
我不是太懂您的意思能不能麻烦您把这个直接确定51和341个情况下读取数据的这段程序给我写一下,我现在对这块比较糊涂,还没有弄明白!
2015-08-27 20:04
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 23楼 边小白
你确定老师会布置这样的作业?还给一个软件运行结果的文件?请不要装大神,谢谢
2015-08-27 20:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
明天吧

授人以渔,不授人以鱼。
2015-08-27 20:36
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 25楼 TonyDeng
好的呢,我今晚自己再看看您之前给的程序
2015-08-27 20:39
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 25楼 TonyDeng
版主,麻烦您等会有空帮我看下那个二维数组的程序应该怎么写!
2015-08-28 10:28
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 28楼 边小白
神经病!
2015-08-28 10:46
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 28楼 边小白
刚刚看了你的帖子,好多攻击人的言语,而且还想当版主,先不说实力,就是你人品就有问题!以后别出来丢人了
2015-08-28 10:51
wo严
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2015-8-20
收藏
得分:0 
回复 25楼 TonyDeng
版主,今天看了您昨天给的程序,对C++还是不太懂,没看明白中间那段load_data的原理,能不能麻烦你把那个二维数组的那段程序发给我看看!新手对很多东西不太懂,麻烦了
2015-08-28 16:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
程序代码:
/*

 * 我想读入附件中的数据,我想读入Y对应的数据,并将数据存入到a[i][j]中去,其中i表示第i个x,j表示第j个curve;

 * 例如对应的数据为a[0][0]=3.500000e+002,  a[1][0]=3.487281e+002直到把全部Y数据存入到a[i][j]这个50*341二维数组中!
*/

#pragma comment( compiler )

#include <cstdio>
#include <cstdlib>
#include <string>
#include <conio.h>

const size_t PointsPerCurve = 51;                // 每幅图的点数
const size_t CurveNumber = 341;                    // 图的数目

double Points[PointsPerCurve][CurveNumber];        // 点阵数据

void Pause(void)
{
    printf_s("\nPress any key to continue...");
    _getch();
}

bool Load_Data(const char* fileName)
{
    FILE* inputFile;
    errno_t errorCode = fopen_s(&inputFile, fileName, "rt");
    if (errorCode != 0)
    {
        printf_s("数据源文件%s打开错误,错误码为%d,请在网上检索错误码对应的信息。\n", fileName, errorCode);
        Pause();
        return false;
    }

    char bufferLine[1024];
    size_t curveNo = 0;
    while (fgets(bufferLine, _countof(bufferLine), inputFile) != NULL)
    {
        bool newCurve = false;
        if (strstr(bufferLine, "Curve") != NULL)
        {
            ++curveNo;
        }
        if (strstr(bufferLine, "------------------------------") != NULL)
        {
            newCurve = true;
        }
        if (newCurve)
        {
            for (size_t pointNo = 0; pointNo < PointsPerCurve; ++pointNo)
            {
                struct Point
                {
                    double Increment;            // X
                    double Temperature;            // Y
                } point;
                if (fscanf_s(inputFile, "%lf %lf\n", &point.Increment, &point.Temperature) == 2)
                {
                    Points[pointNo][curveNo - 1] = point.Temperature;
                }
            }
            newCurve = false;
        }
    }

    fclose(inputFile);

    return true;
}

void Save_Data(const char* fileName)
{
    FILE* outputFile;
    fopen_s(&outputFile, fileName, "wt");
    for (size_t pointNo = 0; pointNo < PointsPerCurve; ++pointNo)
    {
        for (size_t curveNo = 0; curveNo < CurveNumber; ++curveNo)
        {
            fprintf_s(outputFile, "%e ", Points[pointNo][curveNo]);
        }
        fputc('\n', outputFile);
    }
    fclose(outputFile);
}

int main(int argc, char* argv[])
{
    if (argc < 2)
    {
        printf_s("请以数据源文件名为参数启动程序\n");
        Pause();
        return EXIT_SUCCESS;
    }

    if (Load_Data(argv[1]))
    {
        // 输出数据到文件中以便验证正确性
        Save_Data("opt_out.txt");
    }
    
    return EXIT_SUCCESS;
}

授人以渔,不授人以鱼。
2015-08-28 18:07
快速回复:请教个问题,读入txt文件中的特定行特定列数据,并保存到一个二维数组 ...
数据加载中...
 
   



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

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