请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数0perator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:
两个数据表: 1,2,3,4,5,6 3,4,5,6,7,8 两个数据表之和:
4,6,8,10,12,14 要求:
补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序
的其他部分。
注意:程序最后将结果输出到文件。ut.dat中。输出函数writeToFile已经编译为。bj文件,并且在本程序中调用。
//DataList.h
#inClude using namespaCe std;
ClaSS DataList{//数据表类 intfen;
double*d; publiC:
DataList(int len,double data[]=NULL); DataList(DataList&data);
int length()Const{retum len;}
double getElement(int i)Constt return d[i];}
DataList operator+(Const DataList&list)Const;//两个数据表求和 void show()Const;//显示数据表
};
void writeToFile(Char$,Const DataList&); //main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(ien){ d=new double[1en];
for(int i=0;i<LEN;I++)
d㈨i=(data==NULL?0.0:data[i]);
}
DataList::DataList(DataList&data):len(data.1en){ d=new double[1en];
for(int i=0;i<LEN;I++)&NBSP;&NBSP;&NBSP;
DataList DataList::0perator+(Con8t DataList&list,)Const{//两个数据表求和 double*dd=new double[1ist.1ensth()];
//********333********
//********666********
return DataList(1ist.1ength(),dd); }
void DataList::show()Const{//显示数据表 f()r(int。i=0;i<LEN-1;I++)
eout<<D[I]<
Cout<<D[1EN-1]<
int main(){
double sl[]={1,2,3,4,5,6};
double s2[]={3,4,5,6,7,8};
DataList list1(6,sl),list2(6,s2);//定义两个数据表对象 eout<<”两个数据表:”<
listl.show(): list2.show(); eout<<ENDL<<”两个数据表之和:”<
(1istl+list2).show();
writeToFile(””,listl+list2); return 0:
发布于 2022-05-13 21:36:49
登录后免费查看答案
关注者
0
被浏览
18
1 个回答
推荐阅读
-
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。s0rt成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12要求:补充编制的内容写在“//********33********”与“//********666********”两行之问。不得修改程序的其他部分。注意:程序最后将结果输出到文件。ut.dat中。输出函数writeToFile已经编译为。obj文件,并且在本程序调用。//DataList.h#inClude using namespaCe std; Class DataList{//数据表类int len;double*d: publiC:DataList(int len,double data[]=NULL);。DataList(){delete[]d;}int length(Constt retum len;}//数据表长度(即数据元素的个数) double getElement(int i)Const{return d[i];}void sort();//数据表排序void show()Const;//显示数据表}.void writeToFile(Char*,Const DataList&).//main.Cpp#inClude”DataList.h”DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];for(int i_0;i<LEN;I++)d[i]=(data==NULL?0.0:data[i]);}void DataList::sort(){//数据表排序//********333********//********666********}void DataList::show()Const{//显示数据表for(int i=0;i<LEN一1;I++)COUT<<D[I]<<”,”;&NBSP;&NBSP;&NBSP;}int main(){double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);Cout<<”排序前:”; list.show();list.sort();Cout<<ENDL<<”排序后:”;&NBSP;writeToFile(””,list); return 0;}
2022-05-13 关注 0 浏览22 1答案
-
有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是
2022-05-11 关注 0 浏览20 1答案
-
以下程序的输出结果是( )。void prt(int*m,int n){ int i;for(i=0;i<N;I++)MFI]++;}main(){int a[]={1,2,3,4,5),i;prt(a,5);for(i=0;i<5;i++)printf(”%d,”,a[i]);)
2022-05-11 关注 0 浏览28 1答案
-
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//t+++found母***”。#nClude using namespaCe std; //矩阵基础类,一个抽象类Class MatrixBase{ int rows,Cols; publiC:MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩阵行数int getCols()Const{return Cols;}//矩阵列数virtual double getElement(int r,int C)Const=0;//取第i个元素的值 void show()Const{//分行显示矩阵中所有元素for(int i=0;i<ROWS;I++){&NBSP;&NBSP;&NBSP;for(int j=0;j<COLS;J++)&NBSP;&NBSP;&NBSP; }<<””; Cout<< **********found********** /> } }; //矩阵类Class Matrix:publiC MatfixBase{ double*val;publiC: //**********found**********Matrix(int rows,int Cols,double in[]=NULL):——{ //**********found**********val=;for(int i=0:i<ROWS*COLS;I++)val[i]=(m==NULL?0.0:Ill[i]);}一Matrix(){delete[]val;} double getElement(int r,int C)Const{retum val[r*getCols()+C];}};//单位阵(主对角线元素都是l,其余元素都是0的方阵)类 Class UnitMatrix:publiC MatrixBase{publiC:UnitMatrix(int rOWS):MatrixBase(rows,rows){} //单位阵行数列数相同double getElement(int r,int C)Const{ //**********found**********if(_____)retum l.0; retum 0.0;} }; int main(){MatrixBase*m;double d[][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}}; ITI=new Matrix(3,5,(double*)d);m→show(); delete m;Cout<m=new UnitMatrix(6); Ill→show();delete m; retum0; }
2022-05-13 关注 0 浏览15 1答案
-
public class ListParamTest { public static void resetList(List<Integer> dataList) { dataList.subList(2,4).set(0,40); dataList = new ArrayList<Integer>(dataList); dataList.add(50); } public static void setOne(List<Integer> dataList) { dataList.set(3,100); } public static void main(String[] args){ List<Integer> dataList = new ArrayList<Integer>(Arrays.asList(10,20,30,null)); resetList(dataList); setOne(dataList); int sum = 0; for(Integer v:dataList){ sum +=v; } System.out.println(sum); } 程序执行后,输出的结果是:
2020-12-25 关注 0 浏览360 1答案
-
下列程序的输出结果是()。#includemain(){ int i,s=0;for(i=1:i<10;i++)if(!(i%2)&&!(i%3))s+=i;printf(”%d\n”,s);
2022-05-11 关注 0 浏览23 1答案
-
下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#includevoid sort(int a[],int n){ int i,j,t;for(i 0;i<N—L:I++)for(j=i+1+1;j<N;J++)if(aEi]<AEJ]){t=a[i];a[i]=a[j];a[j]=t;)main(){int a[10]={1,2,3,4,5,6,7,8,9,10},i:sort(&a[1],7);for(i=0;i<10;i++)printf(”Vood,”,a[i]);}程序运行后的输出结果是( )。
2022-05-11 关注 0 浏览13 1答案
-
有以下程序:#includemain(){int i,X[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(”%d,”,x[i][2-i]);{程序的输出结果是( )。
2022-05-11 关注 0 浏览80 1答案
-
下述程序的输出结果是( )。#includemain(){int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;p=a;for(i=0;i<3:i++){ if(i<2)p[1]Ei]一p[1][i]-1:elsep[1][i]=1;)printf(”%d\n”,a[o][1]+a[1][1]4"a[1][2]);)
2022-05-11 关注 0 浏览22 1答案
-
有以下程序,程序执行后,输出结果是【11】______。#include <stdio.h>void fun(int *a){ a[0]=a[1];}main(){ int a[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i>=0;i-- )fun(&a[i]);for(i=0;i<10;i++) printf(“%d”,a[i]);printf(“\n”);}
2022-05-11 关注 0 浏览26 1答案