- 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)