我對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