我对C++很陌生,目前我正在设计一个计算Euklid算法的计算器。有没有办法在while循环中将数字添加到“缓冲区”?
无论如何,我需要帮助的是我如何可以将最终数字添加到每个循环的某种数组。
让例如说我把数字1128和16然后我的程序将给出这个输出
1128 % 16 = 70 + 8
70 % 16 = 4 + 6
4 % 16 = 0 + 4
theese三行打印,一个在时间,对于每一个循环。我想要的是将最后的数字(8,6和4)添加到数组中。我将如何做到这一点?
我对C++很陌生,目前我正在设计一个计算Euklid算法的计算器。有没有办法在while循环中将数字添加到“缓冲区”?
无论如何,我需要帮助的是我如何可以将最终数字添加到每个循环的某种数组。
让例如说我把数字1128和16然后我的程序将给出这个输出
1128 % 16 = 70 + 8
70 % 16 = 4 + 6
4 % 16 = 0 + 4
theese三行打印,一个在时间,对于每一个循环。我想要的是将最后的数字(8,6和4)添加到数组中。我将如何做到这一点?
使用Vector而不是数组,希望这有助于!
#include <iostream>
#include<vector>
using namespace std;
int main()
{
int a=1128,b=16,i;
vector<int>arr;
while(a>b)
{
cout<<a/b<<" "<<a%b<<endl;
arr.push_back(a%b);
a/=b;
}
cout<<a/b<<" "<<a%b<<endl;
arr.push_back(a%b); // Case: When a<=b in Vector
for(i=0;i<arr.size();i++)
cout<<arr[i]<<" "; // Array i.e 8 6 4
return 0;
}
Output:
70 8
4 6
0 4
8 6 4 // Array
您是否在寻找['标准::矢量 ::的push_back()'](http://en.cppreference.com/w/cpp/container/vector)? –
user0042
你到目前为止尝试过什么? – pmaxim98
是的。标准库中有很多类模板[容器](http://en.cppreference.com/w/cpp/container)。考虑到第一条评论。 – Ron