| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 592 人关注过本帖
标题:这个程序的实参和行参我分不清啊,高手帮我分析下,谢谢
取消只看楼主 加入收藏
新手上路中
Rank: 4
等 级:业余侠客
帖 子:49
专家分:204
注 册:2010-3-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
这个程序的实参和行参我分不清啊,高手帮我分析下,谢谢
#include"iostream.h"
#include"iomanip.h"
#define N 100                      //定义数组容量

int sanjie(int **c)
{
     int b[3][6];
     int m=1,n=1,sz=0,sf=0;
     int i,j,k;
     for(i=0;i<3;i++)                                 //先把数组a分2次复制到数组b中去
           for(j=0;j<3;j++)
           {
                 b[i][j]=*(*(c+i)+j);
                 b[i][j+3]=*(*(c+i)+j);                     
           }

                              
           for(j=0;j<3;j++)                    //分别计算出主对角线和副对角线的值并相减
           {
                 for(k=0;k<3;k++)                      //先算出每条对角线的乘积
                 {
                         m*=b[k][j+k];
                         n*=b[k][5-j-k];           
                 }   
                 sz+=m;                                 //再把它们加起来,减一下就得到最终的结果了
                 sf+=n;
                 m=1;
                 n=1;
           }     
     return sz-sf;                //返回目标
}


void main()
{
     int i=0,j=0,k=0,m=1;
     int h1=0;            //行列式的行与列
     int a[N][N];
     int **pa=0;


     cout<<"本程序只能处理行列都小于100,元素小于100的行列式,请见谅"<<endl;
     cout<<endl;         
     
s1:  cout<<"请输入行列式的行列数,并按回车结束:"<<endl;              //输入行列式的大小
     cin>>h1;
     if(h1>N && h1<1)                              //下标越界处理
     {
          cout<<"下标越界,请重新输入"<<endl;
          goto s1;
     }

     cout<<"请输入行列式的元素,一行一行自上而下地输入,并按回车结束:"<<endl;       //输入行列式的元素
     while(i<h1*h1)
     {           
a:           cin>>j;
           if(j>=100 && j<=-100)                                       //元素的数值不能超过100
           {
                  cout<<"数值越界,请重新输入"<<endl;
                  goto a;
           }
           a[i/h1][i%h1]=j;
           i++;     
     }
     i=0;
     cout<<"输入完毕,计算中……"<<endl;
     if(h1==2)cout<<"该行列式最终结果为:"<<a[0][0]*a[1][1]-a[1][0]*a[0][1]<<endl;
     else   
     {        
              pa=a;
              m=sanjie(pa);
              cout<<"该行列式最终结果为:"<<m<<endl;

}
下面是错误:
--------------------Configuration: 计算行列式 - Win32 Debug--------------------
Compiling...
计算行列式.cpp
F:\程序\VC++\源程序\计算行列式.cpp(70) : error C2440: '=' : cannot convert from 'int [100][100]' to 'int ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
F:\程序\VC++\源程序\计算行列式.cpp(75) : fatal error C1004: unexpected end of file found

[ 本帖最后由 新手上路中 于 2010-3-26 23:42 编辑 ]
搜索更多相关主题的帖子: 复制 include 
2010-03-26 23:39
快速回复:这个程序的实参和行参我分不清啊,高手帮我分析下,谢谢
数据加载中...
 
   



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

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