您的位置:首页 > 其它

你猜是什么??? 十进制转化为任意进制咩咩咩!!!

2017-11-03 13:06 204 查看
一、实验目的

1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。

2、      学会使用栈和队列解决实际问题。

二、实验内容

2、设计算法并写出代码,实现一个十进制转换成任意的进制数。

三、实验步骤

1、依据实验内容分别说明实验程序中用到的数据类型的定义;

2、相关操作的算法表达;

3、完整程序;

4、总结、运行结果和分析。

5、总体收获和不足,疑问等。

四 源代码

#include<iostream>
using namespace std;
const int size=10;
template<class T>
class seqstack
{
public:
seqstack(){top=-1;}
~seqstack(){}
void push(T x);
T pop();
T gettop(){
if(top!=-1)
return data[top];
};
int empty(){
if(top==-1)
return 1;
else
{
return 0;
}
}
void decimaltor(int m,int r);
private:
T data[size];
int top;
};
template<class T>
void seqstack<T>::push (T x)
{
if(top==size-1)throw"上溢";
top++;
data[top]=x;
}

template<class T>
T seqstack<T>::pop()
{   T x;
if(top==-1)throw"上溢";
x=data[top--];
return x;
}
template <class T>
void seqstack<T>:: decimaltor (int num,int r)
{
top=-1;
T k;
while (num!=0)
{
k=num %r;
push (k);
num=num/r;
}
while(top!=-1)
{
cout<<pop()<<'\t';
}
}
int main()
{
int num,r;
cout<<"~~~快点赶紧输入一个十进制的数嘛:"<<endl;
cin>>num;
cout<<endl;
cout<<"你想转化为多少进制的数啊嗷嗷嗷:"<<endl;
cin>>r;
cout<<endl;
seqstack<int>L;
L.decimaltor(num,r);
cout<<endl;
return 0;
}

五 运行截图



六 实验心得

我是根据实验书52页的算法然后自己补充成为一个完整的程序啊

但是要我写出这个进制的算法还是不行哇。

老师,我会努力的啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: