私は90621のような数字が入力されたときに特定のコードを印刷することを想定しています。その番号を順番に抽出してコードを印刷すると仮定します。ex:extract digit 9 print code - > 0を(順番に)抽出します。スタックや配列を使わずにintから各桁を抽出する方法は? (C++)
私は逆の順序で数字を抽出する方法(例えば、最初に1を抽出してから2を90621に抽出する方法)しか考えていません。順番にそれを行う方法がわかりません。私は人々が数字を文字列に変換するここでいくつかのポストを見てきましたが、私が呼び出す関数の1つがパラメータとしてintをとるので、それを行うことはできません。私たちはまたループやif関数のような基本的なものしかカバーしていないので、スタックや配列の使い方がわかりません。
string barCode(int zip){
string result;
int n;
while (zip > 0){
n = zip % 10;
result += codeForDigit(n);
zip = zip/10;
}
return result;
}
機能のいくつかの情報:
これは数字を抽出し、これまでにコードを印刷するための私のコードです - 機能をcodeForDigit(int型の数字)が一桁を取り、コードを返しますその桁の - barCode(int zip)
数字を個々の数字に分割し、その数字をエンコードし、それを文字列の戻り値に追加することによって、バーコード全体を返します。
再帰を終了しましたか?反復+スタック==再帰。 – NathanOliver
基本的な再帰を行ってきましたが、数値をスタックにプッシュする方法はわかりません。 – Vickie
[ここ](http://coliru.stacked-crooked.com/a/2df9da8fc9cba815)は、あなたが "後方へ"行く方法の少しの例です。 – NathanOliver