• ベストアンサー

平成16年度の春の問題なんですが

seiiiichiの回答

  • seiiiichi
  • ベストアンサー率41% (79/190)
回答No.4

もちろん、質問者さんの言う通りDCBAの順番で取り出すこともできます。 でも、A、B、C、Dと全部入れ終わる前に途中で出すこともできるのです。 A、Bと入れた段階でB、Aと取り出し、その後 C、Dと入れてからD、Cと取り出せばBADCとなります。 回答の場合だと A、B、Cと入れてC、Bを取り出す。(Aは残ったまま) Dを入れてDを取り出し、残ってたAを取り出す。 とやると、CBDAの順番になります。 それ以外の選択肢のような取り出し方はやってみるとわかりますが どうやってもできません。

関連するQ&A

  • 基本情報技術者問題

    平成16年度春問12のスタックに関する問題で A, B, C ,Dの順に到着するデータに対し1つのスタックだけ用いて出力可能なデータ列はどれか ア、A,D,B,C イ、B,D,A,C ウ、C,B,D,A エ、D,C,A,B で答えはウでした。解答見ても何言ってるか意味不明なのですが わかりやすく解説してくださる人いませんか?

  • スタックについて

    A、B、C、Dの順に到着するデータに対して、一つのスタックだけを用いて出力可能なデータ列はどれか。  ア A、D、B、C  イ B、D、A、C  ウ C、B、D、A  エ D、C、A、B 解答は C B D A  (pop) C B → B → → D → → A A A A A   となり、ウとなります。 しかし、A、B、C、Dの順に到着するデータということから D C B A とデータが積み上げられることになると思われます。 そうなると、解答もDCBAとなると思われます。 スタックはデータを2つしか積み上げられない ものと考えるのなら問題はないのですが、 疑問が残ります。 長文となりましたが、宜しくお願いいたします。

  • 基本情報平成4年春の問題

    基本情報平成4年春の問題で問題集の答えが、納得いきません。どなたかよったら 教えてください。 問題 リストヘの登録 次の流れ図中の(a)~(C)に適切な字句を補い,流れ図を完成せよ。 〔流れ図の説明〕 流れ図は,ファイルから数値データを読み込み,配列に格納するとともに,昇順にポイ ンタでつなぐ処理を表す。 (1)配列の要素は,データ領域(DATA)とポインタ領域(POlNTER)からなる。データ領域に は,数値データを読み込んだ順に格納する。ポインタ領域には,各数値データを昇順に 並べた場合,その数値データの直後にくるデータが格納されている配列要素番号を格納 する。1件の数値データをデータ領域に格納するたびに,対応するボインタ領域に値を 格納する。このとき,必要があればそれまでにセットしたポインタ領域の値を修正する。 (2)一番大きい値のデータが格納されている配 列要素のポインタ領域の値は,0にする。 一番小さい値のデータが格納されている配 列要素の要素番号を,変数MlNに格納する。 配列にデータが1件も格納されてし/ない場 合,変数MlNの値は0である。 (3)同じ値のデータが配列中に存在する場合、 先に格納されたデータほど小さい値とみなして処理を行う

  • 平成12年春 1種 問10-スタック

    お世話になっております。 <問題> A,B,Cの順序で入力されるデータがある。 各データについてスタックへの挿入と取出しを一度ずつ任意のタイミングで可能とする場合、 データの出力順序は何通りあるか。 <回答> A-B-C,A-C-B, B-C-A,C-B-A, B-A-C の5通り。 という問題なのですが、 ”一度ずつ任意のタイミングで可能とする”というのがどういうことを指しているのかが、 回答をみても何度も出し入れしているようで、 どうにも意味が分りません。 トンチンカンな質問なのかもしれないのですが、 どなたかに噛み砕いて補足していただけたら幸いです。

  • キューとスタックの問題です、宜しくお願いします

     (多分基本情報処理に関する問題だと思うのですが)データ構造に関する問題です、いくら考えても分かりません、宜しくお願いします。 【問】空の状態のキューとスタックの二つのデータ構造がある。 次の手続きを順に実行した場合、変数xに代入されるデータはどれか。 ここで、 ・データyをスタックに挿入することをpush(y) ・スタックからデータを取り出すことをpop( ) ・データyをキューに挿入することをenq(y) ・キューからデータを取り出すことをdeq( ) と表す。 (1)push(a) (2)push (b) (3)enq(pop( )) (4)enq(c) (5)push(d) (6)push(dep( )) (7)pop( ) → x 以上の答えとして(6)にはbがスタックにpushされるので、後入れ先出し を考えると当然「xにはb」が入るはずなのですが、どうも答えは「d」となっています。 「d」は「b」より前にスタックされてますので、最新で取出される情報は「b」しかないと思うのですが、誰か誤りを指摘してください、宜しくお願いします。

  • エクセルファイルの特定セルに別エクセルファイルのデータを入力することについて

     お詳しい方よろしくお願いします。 <状況> (1)ファイル名が「001.xlsx」から「100.xlsx」まで100個のエクセルファイルがあります。 (2)これら100個のファイルそれぞれのA1セルに入力したいデータが入力されたエクセルファイル(集約データ.xlsx)があります。 集約ファイル.xlsxの内容    A列          B列 1  001  平成21年4月から平成21年5月まで 2  002  平成21年7月から平成21年12月まで 3  003  平成21年4月から平成21年10月まで ・ ・ というように、A列にはデータ出力先エクセルファイル名 B列には、A列に入力されたエクセルファイルのA1セルに出力したいデータが格納されています。 <行いたい作業> 集約データ.xlsxのB列に格納してあるデータをA列のファイルに出力したいと考えています。 ついては、この方法をご教示いただきたいと存じます。 よろしくお願いします。

  • 平成11年春 問3 が分かりません

    平成11年春 問3 http://www7b.biglobe.ne.jp/~a0mediac/A99s/A99s0306/a99s0306.htm n+1番地の語、つまりadrの値の計算方法が分かりません。 空欄 a はどうやって分かるのでしょうか? 解説にあるように、 >>EXIT命令の機械語コード1000 1000 0000 0000 1100 0000 0000 0000は、最初の1語目が >>0000 0000 0001 0000番地に、2語目が次の0000 0000 0001 0001番地に格納されている。 とありますが、なぜ 最初の1語が0000 0000 0001 0000番地に格納されていることが分かるのでしょうか? よろしくお願いします。

  • エクセル 2011で年度別売上を比較したい

    以下のように年度で売上の多い順に企業名(A列)と総売上額(B列)のシートがあります シート1=2013年度 A列      B列   アイウ電気  80000 えおか工業  60000 きくけ産業  50000     ・    ・ シート2=2014年度 A列      B列   アイウ電気  100000 えおか工業  30000 こさし物産  20000     ・    ・  シート3に2013年度と2014年度の売上を表示し、その右列に増減額を表示させたい 表示例 シート3 A列        B列      C列    D列 (企業名)    (2013年度) (2014年度) (増減額) アイウ電気    80000     100000    20000 えおか工業    60000     30000    -30000 きくけ産業    50000        0   -50000 こさし物産     0      20000   20000 2年とも全ての企業が同じなら楽なんですが、昨年あって今年ない、今年あって昨年ない会社をどうすればいいか・・・ 自動の数式で表示させる方法をご教示頂きたく。 エクセルの詳しい方、すみません、お助け下さい。。。

  • ファイルからの読み込みについて

    スペースで区切られた数字列を3つずつ取り、3つ目の数字列の最後の数字が奇数ならば1を、偶数ならば2を配列に格納するプログラムを作っているのですが、 具体例 203 255 254 203 255 255 203 255 254 203 255 254 203 255 254 203 255 255 203 255 255 203 255 255 203 255 254 203 255 255 とあれば、2,1,2,2,2,1,1,1,2,1と順に格納する プログラムの実行がうまくいかず悩んでいます。 関係する部分を書き出すと b = 0; n = 0; m = 0; while(1){ data = fgetc(fi); if(data == EOF) break; a[n] = data; if(' ' == a[n]){ b++; } if(b == 3){ b = 0; t = a[n-1]; n = 0; if(t == '1'|| t == '3' ||t == '5' || t == '7'|| t == '9'){ c[m] = 1; } else{ c[m] = 2; } m++; } else n++; } となっているのですが、上に書いた数字列をfiに読み込んで実行し、配列cを出力してみたところ 2122222222となっていました。 改行前は正確に出力されているので、改行する部分でなにか不都合が起こっているのかなと思い、いろいろ考えたのですが解決しません。 どなたかよろしくお願いします。

  • エクセルで来年度の年齢を自動表示・・

    エクセルで来年度の年齢を自動表示についてご教示ください。。 ある名簿があり、A列に氏名・B列に今年度の年齢が入力されている表があります。 (生年月日のデータはありません) セルE2に、年度データ(平成23年4月1日)が入力されており、 この年度データを来年度(平成24年4月1日)に変更したら、 上記の表の年齢に1歳+した値を表示させたいのですが、 どの様な関数(数式)を設定すれば、表示されるでしょうか。。 バージョンは2003を使用しております。 初心者で申し訳ありませんが、ご存知の方いらっしゃいましたらご教示ください。 宜しくお願いいたします。