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

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

新規登録して質問してみよう
ただいま回答率
85.48%
配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

3回答

734閲覧

配列 要素 比較

yuka3846

総合スコア12

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2017/02/02 05:22

例えば
###前提・実現したいこと
以下のようにそれぞれの配列に数字が入っていた時、p[]に入っている1,5,12,13と同じnumber[1],number[5],number[12],number[13]だけを取り出したいです。
このようなときはどうすればよいのでしょうか??

###該当のソースコード

java

1int []number = new int[16]; 2int []p = new int[4]; 3 4number[0]=5; 5number[1]=10; 6number[2]=8; 7number[3]=1; 8number[4]=9; 9number[5]=15; 10number[6]=2; 11number[7]=4; 12number[8]=7; 13number[9]=14; 14number[10]=12; 15number[11]=10; 16number[12]=6; 17number[13]=13; 18number[14]=11; 19number[15]=3; 20 21p[0]=1; 22p[1]=7; 23p[2]=12; 24p[3]=13; 25 26

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

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

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

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

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

guest

回答3

0

pの配列をループさせて、pの各要素の値をnumberの配列のインデックスにしてあげれば良いと思います。

for(int i = 0; i < p.length; i++) { System.out.println(number[p[i]]); }

Javaの配列の例外なども考慮してあげる必要があると思いますが。
配列pの値が必ずしも配列numberの要素となる保証がないので。

投稿2017/02/02 05:37

koichi-ezato

総合スコア237

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

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

yuka3846

2017/02/02 06:01

ありがとうございます!!
guest

0

前提として、int[] p;に格納されている数値は
number.length未満の数値しか入っていないと仮定すると

Java

1for(int i : p){ 2 System.out.println(number[i]); 3}

で書けます。

投稿2017/02/02 05:35

Batoh33789

総合スコア136

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

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

yuka3846

2017/02/02 06:01

ありがとうございます!!
guest

0

ベストアンサー

言語が書いてないので仮にJavaとします。

Java

1for(int i=0;i<p.length;i++) { 2 System.out.println(number[p[i]]); 3}

numberの「pのi番目に入っている数字」番目の値を出力しています。
ソースコードの方だとp[1]には7が入っていますが、質問文だと5が入っているのでどっちが正しいかわかりませんが、ソースコード通りだとするとこんなふうに出力されるはずです。

10 4 6 13

追記

Java

1int[] output = new int[p.length]; 2for(int i=0;i<p.length;i++) { 3 output[i] = number[p[i]]; 4}

これはoutputという変数に格納する場合の記述です。pと同じ大きさで配列を作り、pと同じ順番でoutputに格納しています。

投稿2017/02/02 05:32

編集2017/02/02 05:44
masaya_ohashi

総合スコア9206

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

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

yuka3846

2017/02/02 05:37

本当にありがとうございます!! すみません、もう一つお聞きしたいのですがその取り出したものを別の配列に入れたい時はどうすればよいのでしょうか??
yuka3846

2017/02/02 06:00

ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問