0

(Linux 上の C++、KiTTy)

(宿題)

こんにちは、ここのウェブサイトは初めてです。(タイトルが示すように) 文字の配列から複数桁および 1 桁の整数を引き出すことを検討しています。

入力例は次のようになります。

1234+-5000 + 65 =

データはそのまま配列に格納されます...

[ 1 ][ 2 ][ 3 ][ 4 ][ + ][ - ][ 5 ][ 0 ][ 0 ][ 0 ][' '][ + ][' '][ 6 ][ 5 ][' ' ][ \0 ]......[MAX_STR_LEN]

出力は、1234、-5000、および 5 の合計である必要があります。考慮すべき事項は次のとおりです。

  1. 情報を処理するために使用されるヘルパー関数を作成する必要があります。
  2. これは後で Motorola 68k ASM 言語に変換されます (手動)。

助言がありますか?本当にありがとう!

更新:解決しました!みんな、ありがとう!私は医者のアドバイスを利用しました。

4

1 に答える 1

1

私は2つの機能を作ります。

a) char 配列を複数の char[] に分割し、それぞれに 1 つの数字のみを含むもの。数字を見つけたらコピーを開始し、分離トークンを見つけたら (つまり + または - または ' ')、次のものにスキップします。

b) 次に、1 つの数値の ASCII 表現を含む char 配列を取り、それを int に変換する 2 番目の関数。簡単でしょ?たとえば、長さ 3 の char[] の場合、char[2] + char[1] * 10 + char[2] * 100; (ここでの ascii の int は '1' が 1、'2' = 2 であると仮定します。そうでない場合は、変換するルックアップ テーブルを作成します)

位置0に「-」文字がある場合に負にするifステートメントもあります...

次にそれらを追加します。終わり。

于 2012-11-22T05:55:44.463 に答える