検索結果

配列初期化

全1314件中81~100件表示
  • 全てのカテゴリ
  • 全ての質問
  • java 宣言と初期化

    javaで配列の宣言と初期化をするとき int[] scores; scores = new int[4]; と書くと思いますが宣言と初期化を同時にすると int[] scores = new int[4];となると思いますが JPanelなどの生成でよく JPanel jp = new JPanel();などとよく見かけますが、これは JPanel jp; jp = new JPanel();と同じ意味ですか?

    • ベストアンサー
    • Java
  • 配列

    public void test(int[] x){ ... } というメソッドに配列を渡したいとき、 test(new int[5]); は可能ですが、 int[] a = {0,1,2,1,0} という書式が可能なことから、 test( {0,1,2,1,0} ); としてみたのですが、コンパイルでひっかかります。 {}による配列生成は初期化のみに限定されているのでしょうか。 値の入った配列をこのtestに入れてやりたい場合は、 int[] a = {0,1,2,1,0}; test(a); としていかないといけないのでしょうか。

    • ベストアンサー
    • Java
    • arcsin
    • 回答数1
  • 【Java】ある数列から、素数を探すプログラムについて

    Java初心者です。独学なので質問できる環境が無く、 こちらで質問致します。回答をお願い致します。 以下のプログラムについて質問です。 class Prime { public static void main(String[] args) { int max = 100; // 素数を探す数の最大値 boolean[] a = new boolean[max]; // 素数かどうか判定する配列 // 配列の初期化 for(int i = 0; i < max; i++) a[i] = true; // 素数かどうか判定 for(int i = 2; i < max; i++) { if(a[i-1]) { for(int j = 2; i*j <= max; j++) a[i * j - 1] = false; } else continue; } // 結果を表示 for(int i = 1; i < max; i++) { if(a[i]) System.out.print((i + 1) + " "); } System.out.println(); } } 上記の「配列の初期化」の個所、 for(int i = 0; i < max; i++) a[i] = true; ここでなぜ、a[i] = true;となるかわかりません。 0と1はどちらも素数ではないと思うので、 私はtrueではないと思うのですが・・・。 ぜひとも教えて頂きたいと思います。

    • ベストアンサー
    • Java
  • プログラミングについて質問です。

    プログラミングについて質問です。 宣言および初期化がなされている一次配列 int a[]={1,2,3,4,5,6,7}; で、このときのa[2]の数値は何になりますか?

    • brbryuk
    • 回答数3
  • プログラム初心者で以下の問題が解けません。どのような解答になりますか?

    配列を初期化するとき、関数 initboard() では、 void initboard(int board[][MAX_C]) { ... } と引数を2次元配列として定義している。この引数の定義を void initboard(int brd[]) { ... } と定義したとすると、関数 initboard() はどのように書けばよいか。 解答は関数 initboard() のみを記述。 私は void initboard(int brd[]) { int i,j; for(i=0;i<;i++) for(j=0;j<;j++) brd[i][j]=EMPTY; } としましたが間違ってるみたいです…

    • 12gop
    • 回答数1
  • ポインタのポインタの初期化法

     文字列をポインタを使って扱うとき、例えば、初期化は次のように行えますよね。 #include <stdlib.h> char *s; s = (char *)malloc(1000); (これに続いてscanf("%s", s);など)  これと同様にして、二次元の配列を、ポインタのポインタを使って表したいとき、 char **s; と宣言したものを、malloc()関数を使って初期化することはできるのでしょうか。よろしくお願いします。

    • awa3yee
    • 回答数8
  • new演算子で領域を確保した変数の初期化

    ポインタの配列の各要素にnewで領域を与えたとき、 char *str[3]; str[0] = new char[10]; str[1] = new char[5]; str[2] = new char[10]; str[0]~str[2]をNULLで初期化するには どのようにすれば良いのでしょうか? よろしくお願いします。

    • noname#201551
    • 回答数3
  • C++/CLIで配列の初期値は0という認識で大丈夫でしょうか?

    C++/CLIで配列の初期値は0という認識で大丈夫でしょうか? http://vene.wankuma.com/ecma372/24_cli_array.aspx のサイトを見たところデフォルト値という言い方されていますが、デフォルト値は0のことでよいでしょうか? あと、すべて1に初期化するなどの方法は用意されていますか? ご存知の方、回答よろしくお願いします。

  • C言語から質問です。

    C言語から質問です。 /* main関数の中で初期化した配列 data[10]={60,30,70,25,20,9,92,55,20,10}; を関数 keisan() に引数として渡して、関数keisan()内で 平均値、最大値,最小値 を求め、その結果をmain関数に戻し、main関数内で 平均値、最大値,最小値を表示させるプログラムを作成せよ。 int keisan(const int data[], int data_kosuu, double answer[]) { return 0; } とする。 (注) プロトタイプ宣言を用いよ。 ヒント:平均値,最大値,最小値の3つの値を main関数に戻すやり方として、配列answer[]を使うとよい。 data_kosuu は、配列の要素数を与えるものです。 ヒント: (int型の変数)/(int型の変数)=int型の値です。 int型同士の割り算の答えANSWERをdoubleにしたい場合は、  ANSWER=(double)(int型の変数)/(int型の変数);    と(double) キャストという操作をする必要がある */ #include <stdio.h> int keisan(const int data[], int data_kosuu, double answer[]); int main(void) { int i; int a[10]={60,30,70,25,20,9,92,55,20,10}; // この値を使ってください double ans[3]; keisan(a,10); /* keisan関数に配列と配列要素数を引数で与える */ for(i=0; i<10 ; i++) printf("a[%d]=%d\n",i,a[i]); printf("平均=%lf 最小値=%d 最大値=%d\n",ans[0],ans[1],ans[2]); return 0; } /* 合計・最大値・最小値を求める関数 */ int keisan(const int data[], int data_kosuu, double answer[]) { int i; int sum; int min,max; min=10; /* min の初期化 */ max=10; /* max の初期化 */ sum=0; /* 合計値の初期化 */ for (i=0; i<10 ; i++){ sum = sum+data[i]; if(data[i] > max) max=data[i]; if(data[i] < min) min=data[i]; } sum=sum/10; answer[0]=sum; answer[1]=min; answer[2]=max; } エラー error C2198: 'keisan' : 呼び出しに対する引数が少なすぎます。 とでて先に進めません。 教科書などを見ても間違いがわかりません; 虫食いになってるところを自分なりにやってみたため、 根本的に間違ってるかもしれませんが、 どうかアドバイスや指摘などをお願いします。

  • ポインタの配列について

    はじめまして。 基本的な質問で恐縮ですが、質問があります。 例えば、char *name[] = {"Alice","Ben","Chris","Diana","Elmo"} のようなポインタの配列を宣言・初期化したとき、配列nameの各要素の 中身には、初期化子として与えた、文字列の先頭アドレスが 格納されているという解釈でよろしいのでしょうか?つまり、 *(name+1)やname[1]は、「文字列Benの先頭アドレスを指す」という意 味でよろしいのでしょうか?また、このとき、(name+1)というように *をつけないときは、「文字列Benの先頭アドレスを格納したメモリの 先頭アドレス」というような解釈でよろしいのでしょうか? どうかご教授お願いします。

  • 配列変数のアドレス

    C言語で、配列を宣言した場合、 char a[] = "hoge"; 変数aは初期化された配列の先頭番地を指しているのですが、この時、 変数aの中身も変数aのアドレス(&a)ともに上記の配列の先頭番地になっているようなのですが、 これによって、配列の変数aは読み取り専用で、書き換えられないということにしていると思っていいのでしょうか? ちなみに、 char *p = "fuga"; とした場合は、pと&pのアドレスは異なって、pの中身は書き換えられます。

  • 独習Java章末問題模範解答のソースコードがコンパイルできない

    時間のある方お答えください。 -問題- 次のプログラムを作成しなさい。配列を作成し、それを5個のCharacterオブジェクトで初期化します。その後、StringBufferオブジェクトを生成し、その文字列バッファに配列要素を付加します。最後に文字列バッファを表示します。 -模範解答- class CharacterArray { public static void main(String args[]) { // 配列を作成して初期化する Character array[] = new Character[5]; array[0] = new Character('A'); array[1] = new Character('B'); array[2] = new Character('C'); array[3] = new Character('D'); array[4] = new Character('E'); // 文字列バッファを作成する StringBuffer sb = new StringBuffer(); // 配列要素をバッファに付加する sb.append(array[0]); sb.append(array[1]); sb.append(array[2]); sb.append(array[3]); sb.append(array[4]); // 文字列バッファを表示する System.out.println(sb); } } となっているのですがエラーが16個も検出されてコンパイルできないのです。 どなたか上記ソースコードを訂正してコンパイルできるようにしてください。 /* Javaは訳の分からん概念が沢山あって、どうも直感的に理解しにくいですね。 もう眠い */

    • ベストアンサー
    • Java
  • ところどころ理屈の解らない記述

    #include<iostream> using namespace std; int main() { const int num = 5; //変数numを5の値で初期化、constを使うから値の変更はない int test[num]; //int型の配列testを初期化 cout << num << "人の点数を入力してください。\n"; //変数numを出力して点数入力を促す for (int i = 0; i < num; i++) { //int型のiを0で初期化 numよりiが小さい場合 iを1増やす cin >> test[i]; //上のfor文によって配列の点数を5回入力 } for (int s = 0; s < num - 1; s++) {  for (int t = s + 1; t < num; t++) { if (test[t] > test[s]) { int tmp = test[t]; test[t] = test[s]; test[s] = tmp; } } } for (int j = 0; j < num; j++) { cout << j + 1 << "番目の人の点数は" << test[j] << "です。\n"; } return 0; } 解るところは、コメントしてあります。 それ以外で解らないところがあるので、(特にnumの後ろにつく-1の意味が解らない) どうかご回答お願いします。

  • 動的メモリの初期化方法について。

    char *p = new char[SIZE]; 上記の方法で動的メモリを確保した場合 確保したメモリの初期化は、 memset(p, 0x00, SIZE); のほかに方法はありますでしょうか? 個人的にSIZEを指定してしまうのがキレイではないような気がしています。 memset(p, 0x00, sizeof(p)); では、sizeof(p)はchar* のサイズなので正しく初期化できず、 for (int i = 0; i < SIZE; i++){ memset(p[i], 0x00, sizeof(p[i])); } では、コンパイルエラーが出てしまいます。 (new char[SIZE]で確保した場合には、p[i]のように配列としてアクセスできないのでしょうか? 単にchar p[SIZE]の場合には、当然配列としてアクセスできるのに。。。) 一般的な初期化方法のほかにも何かコメントでも良いので経験あるかたいらっしゃいましたら教えてください。 宜しくお願いいたします。

  • スライドショーなどずっと繰り返す処理

    https://okwave.jp/qa/q9339175.html の続き スライドショーなどずっと繰り返す処理ってよくありますよね。 その様な場合配列のインデクス番号を初期化してやらないと、一度画像を回って最後のがぞうで止まってしまうと思うのですが、 また繰り返すためにはどうすればいいのでしょうか? 初期化すると必然的に無限ループになりませんか? 教えていただけませんでしょうか?

  • java(バブルソート/単純挿入ソート)

    以下のプログラムを「バブルソートもしくは単純挿入ソートのプログラムに変更しなさい」という課題が出ました。 どのようにすればよろしいでしょうか? import java.util.*; public class SelectSort { //プログラムクラス名 //整列プログラム public static void main(String[] args){ //整列用 int 型配列 int[] target; int elems = KeyboardInput.askInt("要素数? "); //配列を乱数で初期化する target = setArray(elems); //初期状態を表示 display(target); //整列メソッドの呼び出し sortArray(target); //整列結果の表示 display(target); } //配列を乱数で初期化するメソッド static int[] setArray(int elems){ // 要素数個の int 型変数の確保 int[] array = new int[elems]; //乱数利用ための宣言 Random generator = new Random(); //乱数の最大値・最小値 int max = 100; int min = 0; //generator.nextDouble() で 0から1までのdouble型乱数発生 for(int i=0 ; i<array.length ; i++) { array[i] = (int)((max-min)*(generator.nextDouble())+min); } return array; } //配列の状態を表示 static void display(int[] array){ for(int i=0 ; i<array.length ; i++) { System.out.print(array[i]+" "); } System.out.println(""); } static void sortArray(int[] array){ //配列のはじめから最後まで繰り返す for( int i = 0; i < array.length-1 ; i++){ int min_id = i; int min = array[i]; //範囲中でもっとも小さい要素を探す for( int j=i+1 ; j< array.length ; j++ ) { if( array[j] < min ){ min = array[j]; min_id = j ; } } //範囲の始めと置き換える int tmp = array[i]; array[i] = array[min_id]; array[min_id] = tmp; //display(array); } } }

  • 配列

    整数n(n>0)を、k進法(1<k<10)で表すにはどうしたらよいのでしょうか?ちなみにnとkは両方とも入力できるようにして、k進法に変換した結果は配列に記憶してから、その配列を表示したいのですが。 それとは別に、各月の日数を記憶する配列を用意し、初期化で各月の日数を記録させ、a月b日からc月d日まで行われる催事の開催期間(日数)を求めたいです。 a月とc月は同じ年で、閏年はありません。 よろしくお願いします。

  • 多次元配列を、1次元の配列にする関数を書いてください。

    以下のように、多次元配列の配列をペチャンコにする関数(array_flatten)ってどうかきますか? <?php $arr[0] = 'a'; $arr[1][0] = 'b'; $arr[1][1][0] = 'c'; $arr[1][1][1][0] = 'd'; $arr[1][1][1][1][0] = 'e'; $arr[1][1][1][2] = 'f'; $arr[1][1][2] = 'g'; $arr[1][2] = 'h'; $arr[2] = 'i'; function array_flatten($arg){   処理; } $new_arr = array_flatten($arr); print_r($new_arr); ?> ↓ Array (   [0] => a   [1] => b   [2] => c   [3] => d   [4] => e   [5] => f   [6] => g   [7] => h   [8] => i ) ※関数のなかで、ペチャンコの配列を格納するための新しい配列を宣言すると、 同関数を再帰的に呼び出したら、その配列が初期化されますよね?

    • ベストアンサー
    • PHP
    • sweepea
    • 回答数3
  • 2次元配列の配列

    VisualBasic.NETでプログラムを作っているのですが、2次元配列の配列で行き詰って困っています。 配列1~3を別に定義して、その2次元配列を配列Xという配列にひとまとめにしたいのですが、エラーが出てしまいます。 エラー内容は「配列初期化子の次元が少なすぎます」で、場所は配列Xの第1要素です。 配列1~3以降もどんどん配列を追加していく予定なので、なるべく以下の方法で書いていきたいのですが、解決法はないでしょうか? また、他にいい方法があればご教授ください。 ソースです。 ---------------------------------------- Public 配列1(,) As Integer = _ { _ {1, 1, 1}, _ {1, 1, 1}, _ {1, 1, 1}, _ {1, 1, 1} _ } Public 配列2(,) As Integer = _ { _ {2, 2, 2}, _ {2, 2, 2}, _ {2, 2, 2}, _ {2, 2, 2} _ } Public 配列3(,) As Integer = _ { _ {3, 3, 3}, _ {3, 3, 3}, _ {3, 3, 3}, _ {3, 3, 3} _ } Public 配列X(,)() As Integer = { _ 配列1, _     ←ここにエラーが出る 配列2, _ 配列3 _ } ---------------------------------------- 回答よろしくお願いします。

    • noname#70167
    • 回答数1
  • 代入ができない。(undefined)

    環境:XP SP2, IE6/php, html, javascript submitした際にjavascriptの関数(getNo())が呼ばれ、その関数内で代入ができず参っています。 .php ----- <? $setNo = [111,222,333,444,555]; for($i=0;$i<5;$i++) {?> <input type="text" name="no[<?=$i;?>]" value="<?=$setNo[i];?>" id="no"> <?}?> (submit省略) .js ----- function getNo(obj) { var orgNo = document.all("no"); var bufNo = ""; //初期化空 //var bufNo ; //初期化しないと※1 //var bufNo = "huga";//初期化"huga"※2 for(var k=0; k<orgNo.length; k++) {  alert(orgNo[k].value);//k=0なら111と表示される bufNo = orgNo[k].value;//代入してるのに alert(bufNo='+bufNo); //空のまま →代入されてない なぜ?? //alert(bufNo='+bufNo);//※1undefined→代入されてない //alert(bufNo='+bufNo);//※2huga→代入されてない alert(orgNo='+orgNo[k].value);//k=0のときなら111と表示される } .jsには他にもsubmitから呼ばれている関数があり それらは正常に動作しますが、この関数だけおかしいので 書き直してみたりしましたが改善されません。 また、関数内で配列も宣言してますが、 配列要素にfor文のiなどを[i]のようにいれても、配列の値がうまく変数に代入できません。 ただし、[0]や[2]と指定すると正しい値が表示され、代入もできます。 undefinedになることが問題なのではなく 代入されない理由がわかりません。 どういうことになっているのか教えてください。