質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

1回答

1209閲覧

アルゴリズムの問題について解答を教えてください。

taipi1584

総合スコア5

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2021/09/06 13:46

アルゴリズムのこの問題のaにはどの選択肢が当てはまるのか解答を教えてください。

「タブ文字を展開するプログラム」
副プログラム TabSpc は、タブ文字を展開するプログラムである。

  1. TabSpc は、引数で指定された文字型配列 Src[] を先頭から調べ、 Src[]

中のすべてのタブ文字をそれぞれ一つ以上の間隔文字(スペース)に変換して、
引数で指定された文字型配列 Dst[] に格納する。
2. 文字型配列の各要素には、文字を 1 文字ずつ順に格納し、最後の文字の次の
要素にはシステム定数である EOS を格納する。なお、配列の添字は 1 から始
まり、添字の値を文字位置と呼ぶ。
3. Src[] 中にタブ文字が出現した場合、次の文字が最も近い右のタブ位置に格納
されるように、タブ文字を一つ以上の間隔文字に置換して、 Dst[] (要素数は十
分に大きいとする)に格納する。ここで、タブ位置とは、整数型の引数 TabGap で
渡されるタブ間隔(≧ 2)を用いて、次の式で計算される文字位置である。
タブ位置 = タブ間隔 × n + 1 ( n は 1 以上の整数)
4. タブ間隔が 4 のときの実行例を図に示す。 “j” を Dst[] のタブ位置である文
字位置 13 ( = 4 × 3 + 1 )に格納したのでは、タブ文字が間隔文字に置き換
わらないので、最も近い右のタブ位置である文字位置 17 ( = 4 × 4 + 1 )に
格納する。

https://jpeducom.co.jp/FE18b-pm/h18b-04a.gif

[プログラム]
○TabSpc(文字型:Src[], 文字型:Dst[], 整数型:TabGap)
○整数型:Sidx, Didx, N, TabPos
・Sidx ← 1
・Didx ← 1
■ Src[Sidx] ≠ EOS /* EOS:文字列の終わりを表すシステム定数 /
| ▲ Src[Sidx] = TAB / TAB:タブ文字を表すシステム定数 /
| | ・N ← ( a ) ÷ TabGap
| | ・TabPos ← TabGap × N + 1
| | ■ Didx < TabPos
| | | ・Dst[Didx] ← SPC / SPC:間隔文字を表すシステム定数 */
| | | ・ b
| | ■
| +---
| | ・ c
| | ・Didx ← Didx + 1
| ▼
| ・Sidx ← Sidx + 1

・Dst[Didx] ← EOS

設問 プログラム中のに入れる正しい答えを、解答群の中から選べ。
a に関する解答群
ア Didx + 1
イ Didx – 1
ウ Didx + TabGap + 1
エ Didx + TabGap – 1

私としては、エが正解と思っていたのですが、今日講師の方にそれは間違いだと言われました。腑に落ちてないのでどなたか真の正解をお教えくださいませ。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AbeTakashi

2021/09/07 07:18

まずは「エが正解と思っていた」という理由、「腑に落ちてない」というところ、をしっかりと質問文に追記した方がいいでしょう。この質問文だと「私の代わりに問題を解いてね」という意味合いにしか見えず、丸投げという指摘が来ても仕方ない状況です。マルチポストの件と合わせて対応頂くといいと思います。
taipi1584

2021/09/07 12:36

この問題については自己解決いたしました。皆さま色々な意見ありがとうございます。今後参考にさせていただきます。
guest

回答1

0

自己解決

Web検索をして同じ問題がのっていたのでその解説と答えを参考にしました。

投稿2021/09/07 12:38

taipi1584

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問