鱼C论坛

 找回密码
 立即注册
查看: 1718|回复: 6

自定义的函数怎么互相调用

[复制链接]
发表于 2020-4-22 11:19:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4. const int Max=10;
  5. void create(int n);
  6. void mul(int a[Max][Max],int b[Max][Max],int c[Max][Max],int n);
  7. void show(int c[Max][Max],int n);

  8. void create(int n,int a[Max][Max])
  9. {
  10.         int i,j;
  11.        
  12.         for(i=0;i<n;i++)
  13.         {
  14.                 for(j=0;j<n;j++)
  15.                         cin>>a[i][j];
  16.         }       
  17. }
  18. void mul(int a[Max][Max],int b[Max][Max],int c[Max][Max],int n)
  19. {
  20.         int i,j,k;
  21.        
  22.                 for(i=0;i<n;i++)
  23.                 {
  24.                         for(j=0;j<n;j++)
  25.                         {
  26.                                 int sum=0;
  27.                                 for(k=0;k<n;k++)
  28.                                         sum+=a[i][k]*b[k][j];
  29.                                 c[i][j]=sum;
  30.                                
  31.                         }
  32.                 }
  33. }
  34. void show(int c[Max][Max],int n)
  35. {
  36.         int i,j;
  37.         int a[Max][Max]={0};
  38.         int b[Max][Max]={0};

  39.         mul(a,b,c,n);
  40.        
  41.         for(i=0;i<n;i++)
  42.         {
  43.                 for(j=0;j<n;j++)
  44.                         cout<<setw(10)<<c[i][j];
  45.                 cout<<endl;
  46.         }
  47. }
  48. int main()
  49. {
  50.         int n;
  51.         int i,j,k;
  52.         cin>>n;
  53.         int a[Max][Max]={0};
  54.         int b[Max][Max]={0};
  55.         int c[Max][Max]={0};
  56.         create(n,a);
  57.         create(n,b);
  58.         mul(a,b,c,n);
  59.         show(c,n);       
  60. }
复制代码
这个怎么能在void show()里正确的调用void mul()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-22 11:26:11 | 显示全部楼层
你的意思是。。。传址参数?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-22 11:28:03 | 显示全部楼层
liuzhengyuan 发表于 2020-4-22 11:26
你的意思是。。。传址参数?

额额额,我也不太明白你说的这个。
从键盘输入一个正整数n(n属于[1,10]),表示进行乘法运算的两个整形方阵的阶。然后分别输入两个整形方阵A和B,计算A*B后将结果输出到屏幕。
是这个题用函数实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-22 11:30:06 | 显示全部楼层
阿阿阿阿阿面 发表于 2020-4-22 11:28
额额额,我也不太明白你说的这个。
从键盘输入一个正整数n(n属于[1,10]),表示进行乘法运算的两个整 ...

那你碰到的问题就是 在 show() 里调用 mul() 失败对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-22 11:31:56 | 显示全部楼层
liuzhengyuan 发表于 2020-4-22 11:30
那你碰到的问题就是 在 show() 里调用 mul() 失败对吧

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-22 11:35:36 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-4-22 11:36 编辑


你这个是“传值参数”,我觉得“传址参数”可以解决你的问题
它就是会将变量的地址传进函数(具体操作和用法你可以百度一下)

他的操作就是在定义时在变量前面加一个 '&'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-22 11:37:45 | 显示全部楼层
liuzhengyuan 发表于 2020-4-22 11:35
你这个是“传值参数”,我觉得“传址参数”可以解决你的问题
它就是会将变量的地址传进函数(具体操作 ...

好的谢谢,我去百度一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 15:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表