《电路计算C++与MATLAB》学习笔记(四)
来源:互联网 发布:远东水利造价软件 编辑:程序博客网 时间:2024/06/02 05:59
(一)梯形网络输入电阻的计算程序
#include "stdafx.h"#include<iostream>using namespace std;typedef double vector[20];/*vector是有20个元素的实型一维数组类型名,不是类*/double value(vector a, int n)//a是实型一维数组名,不是vector的对象,数组a是非动态的,有20个元素{double val;//以下为递归公式if (n == 1)val = a[1];else if (n > 1)val = 1.0 / value(a, n - 1) + a[n];return (val);}/*value函数*/void main(){int n, i; double value1; vector a;cout << "Enter n and G or R in array a[i]" << endl;cin >> n;//梯形网络电阻数cout << "n=" << n << endl;for (i = 1; i <= n; i++)cin >> a[i];//输入a[i],i=1,2...nfor (i = 1; i <= n; i++)cout << "a[" << i << "]=" << a[i] << endl;//及时响应打印所输入的数据是编程的好习惯value1 = value(a, n);//调用value函数cout << "value=" << value1 << endl;}/*main函数*/
(二)问题与总结
总结:采用递归函数计算输入电阻,核心是连分式的求值。原本以为电阻个数必须为偶数,后来发现不需要为偶数也满足条件
问题
typedef double vector[20];
此处vector是一维数组类型名称,不太理解,查找书籍
typedef属于自定义数据类型关键字,在编程中目的一般有两个,需要注意的是typedef只是定义类型名,不能用来定义变量
- 给变量一个易记且意义明确的新名字
- 简化一些比较复杂的类型声明
- a、定义一个类型名代表一个结构体类型
- b、定义数组类型或指针类型
本例为定义数组类型
typedef int Num[10];//定义Num为整型数组类型,包含10个元素Num c,d;//c,d为包含10个元素的整型数组变量
另外数组可以作为函数的参数,形参或者实参。
a、当函数要对一批数据进行处理时,定义函数时可以采用数组作为函数的形参,数组名代表数组存储区域的首地址,因此调用函数时实参应该采用数组名或者地址值
b、数组元素相当于单个变量,因此数组元素和含有数组元素的表达式同样可以作为函数的实参,函数调用时,系统将数组元素的值传给形参,形参的变化不会影响实参数组元素,即参数值传递是单向的
修改如下,经过debug发现也能输出正确的结果
#define N 20double value(double a[], int n)void main(){ int n, i; double value1; double a[N]; cout << "Enter n and G or R in array a[i]" << endl; cin >> n;//梯形网络电阻数为偶数,n<=20&&n>=2 cout << "n=" << n << endl; for (i = 1; i <= n; i++)cin >> a[i];//输入a[i],i=1,2...n for (i = 1; i <= n; i++)cout << "a[" << i << "]=" << a[i] << endl;//及时响应打印所输入的数据是编程的好习惯 value1 = value(a, n);//调用value函数 cout << "value=" << value1 << endl;}/*main函数*/
阅读全文
0 0
- 《电路计算C++与MATLAB》学习笔记(四)
- 《电路计算C++与MATLAB》学习笔记(一)
- 《电路计算C++与MATLAB》学习笔记(二)
- 《电路计算C++与MATLAB》学习笔记(三)
- 《电路计算C++与MATLAB》学习笔记(六)
- 《电路计算C++与MATLAB》学习笔记(五)
- Matlab学习笔记(四)
- MATLAB学习笔记(四)
- MATLAB学习笔记(四):符号计算(微分方程+三大变换)
- MATLAB学习笔记 函数记录(四)
- 【Matlab学习笔记】(一)初识Matlab和简单计算
- 《模式识别与智能计算-matlab技术实现》学习笔记一
- 《模式识别与智能计算-matlab技术实现》学习笔记二
- 《模式识别与智能计算-matlab技术实现》学习笔记三
- matlab学习笔记 数值计算
- Matlab学习笔记--数值计算
- Matlab学习笔记--符号计算
- C Sharp与.net学习笔记(四)
- 从前端和后端两个角度分析jsonp跨域访问(完整实例)
- MySQL数据库入门学习(多图预警+新手向~)
- Scrapy框架学习(五)----Request、Response介绍及模拟GitHub登录
- RS485通信字符串数据接收处理的问题
- 15算法课程 231. Power of Two
- 《电路计算C++与MATLAB》学习笔记(四)
- 在VS中使用scanf()不报错的方法
- 出现Error:no csrf hash code!怎么办 给你支招
- 牛客练习赛7 B购物
- 转载:Spring Boot (二):web综合开发
- Scrapy框架学习(六)----Downloader Middleware及使用MongoDB储存数据
- stm32学习笔记之USB中断配置初始化函数
- Dr.com哆点客户端本地密码查看
- 计算机的启动