| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 668 人关注过本帖
标题:函数输出!!
取消只看楼主 加入收藏
aaabbbc
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-13
收藏
 问题点数:0 回复次数:3 
函数输出!!
请问执行完这个函数,输出X[ ][ ]没有东西的??????

#include <stdio.h>
#include <math.h>
#define x_amount 3
void Count(float pC[x_amount][x_amount],float pX[x_amount][2],int pe)  /*循环求解*/
{    
    int i,j,k;    
    float temp_e[x_amount];
    float max_temp = 0.0;

    for (i = 0 ; i < x_amount ; ++i)
    {
        for (k = 0 ; k < x_amount ; ++k)
        {
            pX[i][1] += pX[k+1][0]*pC[i][k];
        }
        pX[i][1] += pC[i][k];
    }

    for (i = 0 ; i < x_amount ; ++i)
    {
        temp_e[i] = fabs(pX[i][1] - pX[i][0]);
    }
    
    for (i = 0 ; i < x_amount ; ++i)
    {
        if (temp_e[i] > max_temp)
        {
            max_temp = temp_e[i];
        }
        else
        {
            continue;
        }
    }

    while (max_temp >= pe)
    {
        for (i = 0 ; i < x_amount ; ++i)
        {
            pX[i][0] = pX[i][1];
            pX[i][1] = 0.0;
        }

        for (i = 0 ; i < x_amount ; ++i)
    {
        for (k = 0 ; k < x_amount ; ++k)
        {
            pX[i][1] += pX[k+1][0]*pC[i][k];
        }
        pX[i][1] += pC[i][k];
    }

    for (i = 0 ; i < x_amount ; ++i)
    {
        temp_e[i] = abs(pX[i][1] - pX[i][0]);
    }
    
    for (i = 0 ; i < x_amount ; ++i)
    {
        if (temp_e[i] > max_temp)
        {
            max_temp = temp_e[i];
        }
        else
        {
            continue;
        }
    }
    }
}
搜索更多相关主题的帖子: 函数 输出 
2008-11-16 14:26
aaabbbc
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-13
收藏
得分:0 
10x1-x2-2x3=7.2
-x1+10x2-2x3=8.3
-x1-x2+5x3=4.2
化简成:
x1(k+1)=0.1x1(k)+0.2x3(k)+0.72
x2(k+1)=0.1x2(k)+0.2x3(k)+0.83
k3(k+1)=0.2x1(k)+0.2x2(k)+0.84
 

k是次数
 
迭代次数
 
直到MAX(|x1(k+1)-x1(k)|,............) < 误差e

x1(k+1)..........即为方程解

X是传进来的数组.!!
2008-11-16 14:55
aaabbbc
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-13
收藏
得分:0 
[bo][un]forever74[/un] 在 2008-11-16 15:08 的发言:[/bo]

传进来的数组?
从哪儿传进来的?
怎么传进来的?
最容易出错的就是这个部分,您居然避而不谈?


SORRY.....我错....
我的MAIN函数.....CHANGE之前都没错...COUNT函数那部开始就有问题了!~
main()
{
    FILE* pf = NULL;

    float A[x_amount][x_amount];
    float B[x_amount];
    float C[x_amount][x_amount];
    float X[x_amount][2];
    int i,j,k;
    float e = 0.5;

    if ((pf = fopen("3.txt","r")) == NULL)            /*打开文件*/
    {
        printf("Can not find the file,please check your file!");
    }
    else
    {
        for (i = 0;i < x_amount;++i)            /*给初始系数矩阵A[][],B[][]赋值*/
        {
            for (j = 0;j < x_amount;++j)
            {
                fscanf(pf,"%f",&A[i][j]);
            }
            fscanf(pf,"%f",&B[i]);
        }
    }
    //for(i=0;i<x_amount;++i)
    //{
     //  for(j=0;j<x_amount;++j)
      // {
     //      printf("%f",A[i][j]);
     //  }
    //}

    //printf("请输入误差:");
    //scanf("%f",&e);

    Change(A,B,C);
    for(i=0;i<x_amount;++i)
    {
       for(j=0;j<x_amount;++j)
       {
         printf("%f\t",C[i][j]);
       }
    }
    for(i=0;i<x_amount;++i)
    {
        for(j = 0;j < 2;++j)
        {
            X[i][0] = 0.0;
        }
    }
    Count(C,X,e);

    for (i = 0 ; i < x_amount ; ++i)
    {
        printf("x[%d] = %f\t",i,X[i][1]);
    }
    
    fclose(pf);
    return 0;
}
2008-11-16 17:38
aaabbbc
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-11-13
收藏
得分:0 
除了那个错误还是不行......= =就是输出不了结果!!!
2008-11-16 22:14
快速回复:函数输出!!
数据加载中...
 
   



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

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