• ベストアンサー

ゼロサプレスって?

「値をゼロサプレスして、配列に格納しなさい。」と指示された場合、代入したい値以外の各配列要素は、'0'で埋め尽くせば良いのでしょうか。それともスペースにすれば良いのでしょうか。 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

inoue64> 「ゼロサプレス」だから、ゼロで埋めると思います。 逆です。サプレス "suppress" … 抑制する ですから、ゼロの出力を 抑制する、です。 スペースで埋めてください。 因みに「配列」って、文字の配列なんですよね?

その他の回答 (3)

  • arata
  • ベストアンサー率49% (139/279)
回答No.4

ゼロサプレスは、先行するゼロをなくす。 ゼロフィルは、ゼロ埋めするものです。 例えば、5桁のエリアに数字を右詰で配置する場合 ゼロフィルなら 00100 ゼロサプレスなら △△100 (△はスペースです。) のようにします。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.3

No.1回答者より そういえばそういうこと(No.2)だったかと思うので、 No.1の回答は間違いだと思います。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

「ゼロサプレス」だから、ゼロで埋めると思います。

関連するQ&A

  • 一致する要素が格納されている添え字番号を返す

    例えばある配列内に @moji = (ak, df, gc); などという値でも文字でもが格納されていたとして、 $x = "ak"; といったある変数に格納されている値・文字(この場合はak)と一致する要素が配列@mojiに格納されていた場合に、その格納されている要素の添え字番号(配列の添え字番号)を返すような関数はないでしょうか? イメージとして $res = mch($x); とすると、0が返されて$resに格納されるというものです。 ちなみにRという言語では > a <- c("ljj", "B0", "op199") # 変数aに3つの文字列要素を代入する > res <- which(a == "op199") # which()は引数に指定された論理に一致する要素番号を返す > res # aについて,a == "op199"がTRUEとなるのは要素番号3であるから,3を返す [1] 3 というものがあるのですが、これと同じような関数が欲しいのです(泣)

    • ベストアンサー
    • Perl
  • 基本情報平成4年春の問題

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

  • 配列要素の値の入れ替え

    C++の問題で分からないものがあります。 10個の要素を持つ整数型配列を宣言し、for文を使用して各要素に順番に1~10の要素を代入する。次に、関数名RVを使用して配列要素の値を入れ替えにより10~1の順番に並べ替えなさい。各要素への直接入力は行わないこと。 という問題で、1~10までの要素を代入することは出来るのですが、配列要素の入れ替えとはどうやったら良いのでしょうか? 教えていただけませんか?お願いします。

  • 配列の簡易な記載法ついて

    JavaScript初心者です。 20の要素を持つ配列があるとします。 そのうちの複数個に同一の値を入れるには下記のような冗長な書き方以外にどのようなものがあるのでしょうか? 例: 配列arrayの1,5,9,13,17番目にabcという値を格納する (※値を入れて宣言する以外の方法で) array[0] = array[4] = array[8] = array[12] = array[16] = "abc";   検索の仕方が悪いのか簡易な書き方が見つからなかったので、教えていただけると助かります!  

  • C# 配列の配列(多次元配列?)

    C#において、配列の配列中に格納した値を、検索することを 行いたいのですが、格納した値そのものを見ることができません。 まだ、C#を始めて間もないので、配列に格納する時点で、 不備があるかも知れませんが、お願いします。 やりたいこと ・テキストファイル内にある値を、2次元配列または、多次元配列に格納 ・配列に格納した値で、データチェックなどを行う予定  テキストファイル内のデータは、下記内容となり要素数も固定ではなく変動する   A=1,2,3・・・   B=11,22,33・・・ 実際のソースは、 //配列 ArrayList list = new ArrayList(); //配列格納 1レコード毎用 ArrayList listtmp = new ArrayList(); while ((strGenderTextLine = objReader.ReadLine()) != null) {  string strBuffer;  //「=」前の値格納用変数  string[] strBuffer2; //「=」後の値格納用配列  listtmp=null;  //strtmpに「=」前の値を格納  strtmp = TextLine.Split('=').GetValue(0).ToString();  //strtmp2に「=」後の値を格納(配列)  strtmp2 = TextLine.Split('=').GetValue(1).ToString().Split(',');  for (int i = 0; i <= strtmp2.Length - 1; i ++)  {   //[i,0]に、「=」前の値を代入   if (i == 0)   {   listtmp.Add(strtmp);   }   else   {   listtmp.Add(strtmp2[i].ToString());   }  }  //list配列にlistTmp配列を格納(配列の配列)  list.Add(listtmp);  intT = intT + strtmp2.Length;  //行数カウント  intTLine = intTLine + 1;  } ここから、配列「list」内に入っている値を閲覧することができる方法を教えていただければと思います。 宜しくお願いいたします。

  • 配列にある重複要素を削除したい(VBA)

    エクセルVBAにて、あるルールで対象となるセルの値を配列に格納しております。 配列の要素には重複しているものもあるため、重複要素を配列から削除したいのですが その方法が分かりません。 どなたか、よろしくご教授下さい。

  • 二つのint型配列を一つにするには?

    2種類のint型配列にそれぞれ数が重ならないように数字を代入して行きます。この2種類のプログラムの違いは値を代入する方法以外はすべて同じです。ですから、ユーザー関数で一つにまとめようと考えてます。 2種類の違い:値を代入する方法がが違う。 (1)scanf()関数で人間が値を各要素に代入する。 (2)rand()関数でPC側が値を各要素に代入する。 配列への代入のルール (1)同じ値の場合は代入しなおさなければならない。 基本的には 人間側が値を要素に代入する場合 for( i = 0 ; i < 6 ; i++){ while(1){ scanf("%d",&dut[i]); for (j = 0; j < i ; j++){ if(dut[i] == dut[j]){flg = 1; break;} } if (flg == 0){break;} } } PC側がrand()関数を使い各要素に入力した場合 for( i = 0 ; i < 6 ; i++){ while(1){ pc[i] = rand()%43 + 1; for (j = 0; j < i ; j++){ if(pc[i] == pc[j]){flg = 1; break;} } if (flg == 0){break;} } } 以上の二つの違うところは「rand()関数かscanf()」どちらかが入るだけです。あとはみな同じつづりなのです。だから一つに出来ると思うのです。 共有して使える関数はどんどんまとめちゃうのが私の考えですので。 ※ヘッダ呼び出しや、変数定義など基本的な部分は省いてあります。 間違いがあるときはおしえてください。 ※また、別の方法があるときはぜひおしえてください。

  • [arduino]数値の大きなデータを二次配列へ

    シリアル通信で得たデータを二次元配列へ格納するために、 以前では、 if(Serial.available()>120){ for(int k=0;k<8;k++){ for(int l=0;l<15;l++){ //読み込んだ値を配列に代入 matrix[k][l]=Serial.read(); } } } このようなやり方で読み込んだ値を二次元配列に代入していたのですが、 128個以上のデータを扱いたい場合、Serial.availableでは保持できず、困っています。 方法として、 (1)一つずつデータを読み込み、128回ループを繰り返し配列に貯めていく。その後配列を2次元配列に代入する。 (2)一つデータを読みこんだら二次元配列の1行目1列目のドットに格納、もう一つデータを読みこんだら二次元配列の1行目2列目のドットに格納…というように、 読みこんだデータをそのまま二次元配列のそれぞれの場所へ格納していく。 というような二つの方法を思いついたのですが、 (1)の方法では、配列にデータを貯蓄していくコードをこのように↓書いたのですがうまくいかず、 for(int i=0;i<128;i++){ if(Serial.available()>0){ data[128] = Serial.read(); } } (2)の方法では、データを二次元配列のそれぞれの場所へ格納していく指定方法が分かりませんでした。 正しい書き方や、良いアイデアをお持ちの方がいましたら、是非御教授お願いします。

  • 配列について

    こんにちは。 int p[1000]という整数型の配列を作成しました。 例えば、 p[0] = 1; p[1] = 2; p[2] = 3; ・ ・ ・ p[99] = 100; を格納し、配列の長さ?を調べる際、 unsigned int len = 0; while(p[len]!='\0') len++; とすることで調べることが可能でしょうか?p[100]番以降に0が格納されている場合それがナル文字となるのでしょうか? また、char c[1000]と文字列型の配列を作成し、文字列の数値を格納していく場合、一桁であれば要素1個(1Byte?)で格納できますが、二桁以上であれば要素2個以上(2Byte以上←あっていますでしょうか)必要です。 c[0]='1' c[1]='2' c[2]='3' c[3]='4' ・ ・ ・ c[9]='1' c[10]='0' c[11]='1' c[12]='1' ・ ・ ・ ここで問題なのですが、文字列10と文字列11の判別はできないのでしょうか? 110111が連続している場合も値110と値111と判別できないのでしょうか? 値を格納する場合は、整数型のint c[1000]を用意するという事でしょうか? よろしくお願いします。

  • 可変長配列の中にInteger型の可変長配列を登録

    可変長配列の中にInteger型の可変長配列を登録するやり方を教えてください。 また、その可変長配列の中にある可変長配列の中の例えば3つ目の要素にアクセスして、 格納されている値を取り出す方法を教えてください。 よろしくお願いします。