整数配列がcrr_array
あり、繰り返し発生する要素をカウントしたい。まず、配列のサイズを読み取り、コンソールから読み取った数値で初期化します。arraynew_array
には、繰り返される要素を格納します。配列times
には、要素が連続して出現する回数が格納されます。次に、繰り返しシーケンスを検索して、特定の形式で印刷しようとします。しかし、うまくいきません。
// Get integer array size
Scanner input = new Scanner(System.in);
System.out.println("Enter array size: ");
int size = input.nextInt();
int[] crr_array = new int[size];
int[] new_array= new int[size];
int[] times = new int[size];
// Read integers from the console
System.out.println("Enter array elements: ");
for (int i = 0; i < crr_array.length; i++) {
crr_array[i] = input.nextInt();
times[i] = 1;
}
// Search for repeated elements
for (int j = 0; j < crr_array.length; j++) {
for (int i = j; i < crr_array.length; i++) {
if (crr_array[j] == crr_array[i] && j != i) {
new_array[i] = crr_array[i];
times[i]++;
}
}
}
//Printing output
for (int i = 0; i < new_array.length; i++) {
System.out.println("\t" + crr_array[i] + "\t" + new_array[i] + "\t" + times[i]);
}
出力を次のようにしたい:
There are <count_of_repeated_element_sequences> repeated numbers
<repeated_element>: <count> times
...
例えば:
There are 3 repeated numbers:
22: 2 times
4: 3 times
1: 2 times
繰り返される要素とその数を見つけるにはどうすればよいですか? 上記のように印刷するにはどうすればよいですか?