| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:小问题,大事件……
只看楼主 加入收藏
天空绝尘
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-11-19
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:11 
小问题,大事件……
  求助:
  1)怎么解决数组的乘法。编写拟合函数是要简化程序用到数组的乘法。
        譬如:
     1 2 3    a    11
     4 5 6  * b =  25
     7 8 9    c    34
   这是三个数组的乘法,求解a,b,c的值,怎么用C语言里面的子函数实现呢???

2)C语言里面的调试,有哪些基本的方法啊,不知道调试怎么开始。给点入门经验…


           求助ing……纠结中。
搜索更多相关主题的帖子: C语言 
2010-11-21 10:21
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:4 
汗,看了一分钟就是没看明白,你能再详细点么?没看懂什么意思.
至于调试么..我是用VC6.0的,在点击编译按纽时如果有错它左下角会报错,然后就可以看哪里出错了.

经验积累中............
2010-11-21 12:19
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:4 
这个应该是线性代数里面的内容吧
2010-11-21 13:07
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:4 
呵呵  算法知道  编的话好像挺麻烦的  不大会啊

粗心是大敌
2010-11-21 16:25
shafeilong
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:236
专家分:1434
注 册:2009-3-21
收藏
得分:4 
http://wenku.baidu.com/view/336af8c708a1284ac85043b8.html
算法倒忘记了  只找到这个
2010-11-21 16:59
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:4 
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

int
cond(float *x,float *temp,int size,float cur);

float*
seidel(float* x,float *a,float *b,int size);

int
main()
{
      float x[3]={0};
      float a[3][3]={{1,1,0},{0,2,0},{1,0,1}};
      float b[3]={3,4,5};
      int i;

      seidel(x,(float*)a,b,3);

      for(i=0;i<3;i++)
            printf("%f ",x[i]);
      getch();
      return 0;
}

int
cond(float *x,float *temp,int size,float cur)
{
      int i;
      int result=0;

      for(i=0;i<size;i++)
            result=result || fabs(*(x+i)-*(temp+i))>cur;
      return result;
}

float*
seidel(float* x,float *a,float *b,int size)
{
      int i,j;
      float *temp=malloc(size*sizeof(float));
      *(temp)=1.0;

      while(cond(x,temp,size,0.0001))
      {
            for(i=0;i<size;i++)
                  *(temp+i)=*(x+i);
            for(i=0;i<size;i++)
            {
                  *(x+i)=*(b+i);
                  for(j=0;j<size;j++)
                        if(j!=i)
                              *(x+i)-=(*(a+i*size+j))*(*(x+j));
                  (*(x+i))*=(1.0/(*(a+i*size+i)));
            }
      }
      return x;
}
高斯赛德尔迭代
2010-11-21 17:53
天空绝尘
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-11-19
收藏
得分:0 
回复 2楼 五当家
我的意思是:现在有两个数组相乘,等于第三的数组。但是,其中的一个数组时未知数,怎么把那个未知数数组用函数求出来呢???
例子的意思:        例子的意思    1 2 3    a     11   前面的三行是数组a[3][3]={1,2,3,4,5,6,7,8,9};中间的数组时b[3]={a,b,c}(这是个列向量,不会表示),最后的那个数组是c[3]={11,25,34}.    4 5 6  * b  =  25    求出a,b,c的值,怎么求呢……怎么用函数实现。
                                    7 8 9    c     34。
2010-11-23 16:40
天空绝尘
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-11-19
收藏
得分:0 
额,前面的那个出现排版问题。
我的意思是:现在有两个数组相乘,等于第三的数组。但是,其中的一个数组时未知数,怎么把那个未知数数组用函数求出来呢???
例子的意思: 前面的三行是数组a[3][3]={1,2,3,4,5,6,7,8,9};中间的数组时b[3]={a,b,c}(这是个列向量,不会表示),最后的那个数组是c[3]={11,25,34}.   求出a,b,c的值,怎么求呢……怎么用函数实现。
                                   
2010-11-23 16:41
天空绝尘
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-11-19
收藏
得分:0 
回复 6楼 xiaomarn
非常感谢,但是运行有错误,得不到结果,还有些地方看不懂,能不能帮忙写点注释啊……
2010-11-23 16:45
天空绝尘
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2010-11-19
收藏
得分:0 
回复 5楼 shafeilong
兄弟高手,这东西都能找到,但是好多啊……快上百行了……努力看懂,然后我一定把加了注释的程序放上去……
2010-11-23 16:48
快速回复:小问题,大事件……
数据加载中...
 
   



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

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