C++实验 8
更新时间:2024-05-26 04:46:01 阅读量: 综合文库 文档下载
- c实参和形参区别推荐度:
- 相关推荐
实验8 指针应用
成绩 专业班级 信息112学号201112030221姓名兰晓东报告日期
实验类型:●验证性实验 ○综合性实验 ○设计性实验 实验目的:
1熟悉定义指针变量的方法、使用指针变量的方法。
2学会使用指针变量作函数参数、用指针对字符串进行操作。
3学会使用指向函数的指针进行牛顿迭代法求解非线性方程组的解。 实验内容:
1.第六章习题第6题、第11题、第18题 2.用牛顿迭代法求解非线性方程组
设有非线性方程组
x2?2x?y?0.5?0x?4y?422?0
设初始值(x0,y0)?(2.0,0.25)误差小于0.001 实验原理
Pn?Pn?1?J(Pn?1)?1F(Pn?1)
实验步骤:(记录实验过程中的步骤)
1 要求上机实验前先编写出程序代码 2 编辑录入程序
3 调试程序并记录调试过程中出现的问题及修改程序的过程 4 经反复调试后,运行程序并验证程序运行是否正确。 5 记录运行时的输入和输出。
实验任务的程序运行运行界面及运行结果:
实验总结:
定义指针变量的方法: 使用指针变量的方法:
学会使用指针变量作函数参数: 用指针对字符串进行操作:
学会使用指向函数的指针进行牛顿迭代法求解非线性方程组的解。 第六题运行结果:
第十一题运行结果:
第十三题运行结果:
每个实验任务程序代码 第六题代码:
#include
int length(char *p) {int n; n=0;
while(*p!='\\0') {n++; p++; }
return(n); }
第十一题代码: #include
{void sort(char s[][6]); int i;
char str[10][6];
cout<<\ for(i=0;i<10;i++) cin>>str[i]; sort(str);
cout<<\ for(i=0;i<10;i++) cout< void sort(char s[][6]) {int i,j; char *p,temp[10]; p=temp; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j],s[j+1])>0) {strcpy(p,s[j]); strcpy(s[j],s[j+1]); strcpy(s[j+1],p); } } 第十三题代码: #include { float integral(float (*P)(float),float a,float b,int n); float fsin(float); float fcos(float); float fexp(float); float a1,a2,a3,b1,b2,b3,c,(*p)(float); int n=20; cout<<\ cin>>a1>>b1; cout<<\ cin>>a2>>b2; cout<<\ cin>>a3>>b3; p=fsin; c=integral(p,a1,b1,n); cout<<\ p=fcos; c=integral(p,a2,b2,n); cout<<\ p=fexp; c=integral(p,a3,b3,n); cout<<\ return 0; } float integral(float(*p)(float),float a,float b,int n) { int i; float x,h,s; h=(b-a)/n; x=a; s=0; for(i=1;i<=n;i++) {x=x+h; s=s+(*p)(x)*h; } return(s); } float fsin(float x) {return sin(x);} float fcos(float x) {return cos(x);} float fexp(float x) {return exp(x);} 牛顿迭代法求解非线性方程组代码: #include { double dpy(double array[]),Q[1],x[1],p[1],err,relerr; int i,j,p,max1,count; cout<<\ cin>>x[0]>>x[1]>>max1; for (i=0;i for(j=0;j<2;j++) {Q[j]=x[j]-p[j];} err=fabs(Q[0]+Q[1]-x[0]-x[1]); relerr=err/(Q(0)+Q(1)); x=Q; count=i; cout< if(err<0.001||relerr<0.001) { break; } cout<<\ return 0; } double dpy(double array[]) {double fy(double array[]); double det(double array[][]); double z[1][1],dp[1],x[1]; x[0]=array[0]; x[1]=array[1]; z[0][0]=2*x[0]-2; z[0][1]=-1; z[1][0]=2*x[0]; z[1][1]=8*x[1]; y=fy(x); J=det(z); dp[0]=J[0][0]*y[0]+J[0][1]*y[1]; dp[1]=J[1][0]*y[0]+J[1][1]*y[1]; return dp; } double fy(double array[]) {double z[1],x,y; x=array[0],y=array[1]; z[0]=x*x-2*x-y+0.5; z[1]=x*x+4*y-4; return z } double det(double array[][]) {double x={0,0,1,0},y={0,0,0,1},J[1][1]; int i; x[0]=array[0][0]; x[1]=array[0][1]; y[0]=array[1][0]; y[1]=array[1][1]; for(i=0;i<4;i++) y[i]=y[i]-y[0]/x[0]*x[i]; for(i=0;i<4;i++) x[i]=y[i]-x[1]/y[1]*x[i]; int c=x[0]; for(i=0;i<4;i++) x[i]=x[i]/c; c=y[1]; for(i=0;i<4;i++) y[i]=y[i]/c; J[0][0]=x[2]; J[0][1]=x[3]; J[1][0]=y[2]; J[1][1]=y[3]; }
正在阅读:
C++实验 805-26
成功的滋味作文500字07-06
风令我陶醉作文500字06-20
2016-2017品德与社会考试题03-02
撤镇设街后,人大街道工委做什么04-08
春天里的快乐作文350字06-29
Linux应用基础模拟试题4(附答案)11-11
华工2016大学语文B-随堂练习(满分)11-10
感恩企业、奉献岗位06-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 实验
- 2018年安徽初级会计职称《经济法基础》习题(8)
- 飞机维修方案的优化探讨
- 高一上期末综合训练1
- 人教版小学数学二年级下册说课稿--除法的初步认识说课稿
- 北语15秋《统计学》作业1满分答案
- 教师讲课比赛演讲试题
- 计算机vf上机题答案
- 培训机构微信公众号平台规划运营可行性方案 - 图文
- 西城区民政局2009年工作总结及2010年工作思路
- 受电弓设计计算说明书
- 安徽建筑大学岗位设置与聘用管理实施方案
- 电梯毕业设计
- 各类班组结算管理制度
- 数据库实验指导—SQL - Server - 2008
- 工程力学与建筑结构在线作业答案
- 高中语法定语从句的详细讲解
- 平行与垂直
- 北师大版六年级上册数学教案 - 图文
- 西方经济学宏观经济部分第六版高鸿业版_期末考试重点复习资料
- 柏峪寺敬老院可行性报告