- 締切済み
10個の要素数を持つ配列に0~99までの乱数を挿入し、出力例のように配
10個の要素数を持つ配列に0~99までの乱数を挿入し、出力例のように配列の前後を入れ替えて出力しなさい.ただし、シード値は任意とする. [出力例] before 23 52 71 2 56 34 7 23 51 93 after 93 51 23 7 34 56 2 71 52 23 この問題がどうしても解けません・・・。 どなたか教えてください! よろしくお願いします!! ちなみに、言語はJavaです
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- 配列の要素数を超えた参照のコンパイル
C言語においては”配列の要素数を超えての参照もコンパイルエラーにはならない”という事がいえます。 例えば int a[10]={1}; とした時、a[-1] a[11]を参照しても、コンパイルエラーにはなりません。不定値が表示されるか、Red Hat Linuxに関しては”セグメンテーション違反です”とでるだけです。 しかし、わたしはCしか学んではいませんので解りませんが、配列の要素数を超えての参照はコンパイルエラーになる言語もあるのではないかと思います。 C言語はよく”暴走する言語”と言われます。規制をできる限り排除して軽くし、ミスはプログラマが取るという意味に考えています。 ”C言語においては配列の要素数を超えての参照もコンパイルエラーにはならないという事”はC言語のその様な設計思想に基ずいた仕様なのでしょうか。 それとも、違う考えに基ずいて、”配列の要素数を超えての参照もコンパイルエラーにはならない”という事に成っているのでしょうか。 宜しく願います。
- ベストアンサー
- C・C++・C#
- Cなどで要素の数が固定できない配列はどうやって実現しますか?
配列について質問します。 BASIC系では配列は動的配列で要素の数が自由に変えられます。 ですが、C等では宣言時に配列の要素の数を決めておかねばならなかったと思います。 もし、C等で要素の数がわからないけど、配列を使いたい場合、どうすればいいのでしょうか? どのように実現するのでしょうか? 配列と同じ使い勝手なら配列でなくともかまいません。 今はVBAでプログラムを組んでいるので、動的配列を使えばすむのですが、いずれ他の言語に移植したいので、できるだけ使わないようにしたいと思っています。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 乱数を発生させて、それを配列して小さい順に並べる
乱数の発生のさせ方は、質問集で見て import java.util.Random; class ransuu { public static void main(String args[]) { Random rand = new Random(); for ( int i = 0; i <10; i++){ int x = rand.nextInt(9); System.out.println(x); } } } を用いて表示できたのですが、そのあとの配列がよく分かりませんのでぜひ教えてください。ちなみに私の持っているテキストには任意の数(22、80、57、60、50など)を並べ替えるというものはあるのですが、今回のような乱数+配列の例が載っていないのでよく分かりませんでした。
- ベストアンサー
- Java
- 配列とその要素数をメンバにもつ構造体
C言語では,配列を引数とするときに,合わせて要素数を渡さなければいけないといわれます. そこで,配列とその要素数をメンバにもつ構造体を定義して,これを要素数つき配列のように扱えば,引数として渡す場合には,この構造体を渡すだけでよいと思うのですが,このような用法は一般的に用いられているでしょうか. 単純なアイデアだと思うんですが,あまり紹介されているのを見たことがありません. もしあまり用られない用法であれば,その理由を教えてください. 現在,プログラムを書いているのですが,引数の多さに閉口しており,上の考えで,引数を減らしたいと考えています. よろしくお願いいたします.
- ベストアンサー
- C・C++・C#
- 要素数・要素の値が未定の配列の宣言について(C言語)
要素数・要素の値が未定の配列の宣言について(C言語) タイトルの通りプログラムの内容上、要素の数とその数値がプログラムの途中で算出されるため 最初の宣言の段階では両方ともその数が未定です。 こういった場合、配列の宣言はどのようにすればよろしいのでしょうか? どなたか教えていただけるととても助かります。よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 動的にメモリを確保した配列の要素数を調べるには
いつもお世話になります。 int *test; *test= malloc(sizeof(int)*10); とした場合、test[10]と扱える配列の要素数(この例だと10)を 取得するにはどのようにすればよろしいのでしょうか? 通常の要素数を取得する sizeof(test)/sizeof(test[0]) とかだと無理っぽいですし。。。 どなたかご存知の方どうぞよろしくお願いします。
- ベストアンサー
- C・C++・C#
- bashで配列から、特定の要素を抽出する。
echo ${array[0]} This is a pen. echo ${array[1]} There is a cat. echo ${array[2]} Who are you? echo ${array[3]} Can I help you? ・ ・ ・ などと、要素数は任意で 各要素に任意の文章が入っている 配列があるとき、 特定の文字列の間の要素のみを取り出して 別の配列に入れるという処理をbashで行いたいです。 具体的に、上記の例ですと 要素1と要素2だけを抽出し 新たな配列 newarrayに入れ echo ${newarray[0]} There is a cat. echo ${newarray[1]} Who are you? としたいです。 どのように処理したらよろしいでしょうか? よろしければ、知恵をお貸し願えたらと思います。
- ベストアンサー
- Linux系OS
- 配列の要素に同じ値をもたせないプログラムについて
現在、JAVAの入門書にてプログラムの勉強中です。 その書籍に掲載のプログラムコードがどうしても意図する結果に なりません。入力間違いなどのミスはないか何回も見直しましたが、 どこも入力間違いは見当たりません。 何が原因か教えて頂けますでしょうか。 実行例がこのようになります。 数字は例なのでこの限りではありません。 要素数 : 7 a[0] = 7 a[1] = 5 a[2] = 1 a[3] = 2 a[4] = 9 a[5] = 6 a[6] = 3 プログラムコードが下記になります。 /*配列の全要素を1から10の乱数で埋め尽くす (すべての要素が重複しないようにする*/ 01: import java.util.Random; 02: import java.util.Scanner; 03: 04: class ArrayRandY { 05: 06: public static void main(String[] args) { 07: Random rand = new Random(); 08: Scanner stdIn = new Scanner(System.in); 09: 10: int n; //要素数 11: do { 12: System.out.print("要素数 : "); 13: n = stdIn.nextInt(); //要素数を読み込む 14: } while (n > 10); 15: int[] a = new int[n]; //配列を生成 16: 17: for (int i = 0; i < n; i++) { 18: int j = 0; 19: do { 20: a[i] = 1 + rand.nextInt(10); 21: for ( ; j < i; j++) 22: if (a[j] == a[i]) break; 23: } while (j < i;); 24: } 25: 26: for (int i = 0; i < n; i++) { 27: System.out.println("a[" + i + "] = " + a[i]); 28: } 29: } 30:} 以上です。 これを javac ArrayRandY.java → java ArrayRandY とやると、重複しない結果のときもありますが 重複する値が出てしまうときもあります。 著者のホームページの正誤表を見たのですが情報がありませんでした。 常にこのプログラムの配列の全要素を重複しないようにするには どうしたらよろしいでしょうか。 よろしくお願いいたします。 ちなみに、プログラムコードですが、入力画面ではインデントを 入力しているのですが確認画面ではなぜかインデントが表現 されてません。 大変見苦しいことお詫び申し上げます。
- ベストアンサー
- Java
- 要素数が10の配列で、乱数0~9の値が重複しないようにする方法がわからなくて困っています。
JAVAの練習問題でわからなくて困っています 以下は線形探索のプログラムで、このプログラムを改良して、 要素数が10の配列で、乱数0~9の値が重複しないようにする方法がわからなくて困っています。 以下のような簡単なプログラムでできる方法で行いたいです。 どなたか答えまたはヒントを下さい、お願いします。 ------------------------------------------------------------ import java.util.Random; import java.util.Scanner; public static void main (String[] args) { Random rand = new Random(); Scanner stdIn = new Scanner(System.in); final int n = 10; //要素数 int[] a = new int[n]; //配列を宣言 for (int j = 0; j < n;) a[j] = rand.nextInt(10); System.out.print("配列aの全要素の値\n{ "); for (int j = 0; j < n; j++) System.out.print(a[j] + " "); System.out.println("}"); System.out.print("探す数値 : "); int key = stdIn.nextInt(); int i; for (i = 0; i < n; i++) if (a[i] == key) break; if (i < n) //探索成功 System.out.println("それはa[" + i + "]にあります。"); else //探索失敗 System.out.println("それはありません。"); } }
- 締切済み
- Java
- ArrayListの要素数の上限
java で ArrayListの要素数の上限はいくつでしょうか? ネットで検索したところ C# の ArrayList は 2^32 - 1 のようですけど・・・。 たて、よこ 2^64 の巨大な実数値行列があって、これの固有値を求めるプログラムを作ることになっています。 最初は double の2次元配列で行列を作ろうと思ったのですが、double配列の要素数は 2^32-1 個が限界であきらめました。別の方法を探しているところなのです。 パソコンのメモリは24GBにしてOSも64bit Windowsにしたので java が対応できれば大丈夫かと思うのですが・・・ よろしくお願いします。
- ベストアンサー
- Java
- クロームブックを新しく導入し、OS選択欄がないためプリンタードライバーのインストールができません。
- Chromebookにはプリンタードライバーをインストールすることはできないのでしょうか?
- EPSON社製品のプリンタードライバーについての問題です。
補足
中身の入れ替え方がよくわからないのです。 ループの仕方です。 よろしくお願いします