第10章第11章作业.docVIP

  • 2
  • 0
  • 约2.19千字
  • 约 4页
  • 2017-07-09 发布于河南
  • 举报
第10章第11章作业

10-5(1) #includeiostream using namespace std; templateclass T struct Node { T data; NodeT*next; }; templateclass T class CLinkList { public: CLinkList() { rear=new NodeT; rear-next=rear; } CLinkList(T a[],int n); int Josephus(int m,int n); private: NodeT*rear; }; templateclass T CLinkListT::CLinkList(T a[],int n) { rear=new NodeT; rear-next=rear; for(int i=0;in;i++) { NodeT*s=new NodeT; s-data=a[i]; s-next=rear-next; rear-next=s; rear=s; } NodeT*p=rear-next; rear-next=p-next; delete p; } templateclass T int CLinkListT::Josephus(int m,int n) { int x,i; NodeT*p=rear-next; if(n==1||m==1) { x=n; } else { while(n!=1) { i=1; while(pi!=(m-1)) { p=p-next; i++; } NodeT*q=p-next; p-next=q-next; delete q; p=p-next; n--; } rear=p; x=p-data; } return x; } void main() { int M,N,a[1024]; coutthe number of people:; cinN; if(N=1024) { coutError!Please put in a smaller number.; } coutthe number they count:; cinM; if(M=0) { coutError!Please put in a positive number.; } for(int i=0;iN;i++) { a[i]=i+1; } CLinkListintA(a,N); coutthe last number is:A.Josephus(M,N); coutendl; } 10-5(2) 10-12 11-7 #includeiostream using namespace std; int main() { ios_base::fmtflags original_flags=cout.flags();//保存现在的格式化参数设置,以便将来恢复这些设置 cout812|; cout.setf(ios_base::left,ios_base::adjustfield);//把对齐方式由缺省的右对齐改为左对齐 cout.width(10);//把输出域的宽度由缺省值0改为10 cout813815\n; cout.unsetf(ios_base::adjustfield);//清除对齐方式的设置 cout.precision(2); cout.setf(ios_base::uppercase|ios_base::scientific);//更改浮点数的显示设置 cout831.0; cout.flags(original_flags);//恢复原来的格式化参数设置 return 0; } 11-9 #includefstream.h #includestrstrea.h #includestdlib.h void main(int argc,char* argv[]) { strstream textfile(text.txt) { ifstream in(argv[1]); textfilein.rdbuf(); } ofstream out(argv[1]); const int bsz=100; char buf[bsz]; int line=0; while(textfile.getline(buf,bsz)) { out.setf(i

文档评论(0)

1亿VIP精品文档

相关文档