配列ローテーション用のJavaプログラム
以下は、配列ローテーション用のJavaプログラムです-
例
public class Demo{
void rotate_left(int my_arr[], int d, int len){
d = d % len;
int i, j, k, temp;
int divisor = greatest_Common_divisor(d, len);
for (i = 0; i < divisor; i++){
temp = my_arr[i];
j = i;
while (true){
k = j + d;
if (k >= len)
k = k - len;
if (k == i)
break;
my_arr[j] = my_arr[k];
j = k;
}
my_arr[j] = temp;
}
}
void display_arr(int my_arr[], int size){
int i;
for (i = 0; i < size; i++)
System.out.print(my_arr[i] + " ");
}
int greatest_Common_divisor(int a, int b){
if (b == 0)
return a;
else
return greatest_Common_divisor(b, a % b);
}
public static void main(String[] args){
Demo my_inst = new Demo();
int my_arr[] = { 5, 7, 89, 91, 34, 21, 11, 0 };
System.out.println("Rotating the array to the left ");
my_inst.rotate_left(my_arr, 2, 8);
System.out.println("Displaying the array from a specific index ");
my_inst.display_arr(my_arr, 8);
}
} 出力
Rotating the array to the left Displaying the array from a specific index 89 91 34 21 11 0 5 7
Demoという名前のクラスには、「rotate_left」という名前の静的関数が含まれています。ここで、配列はパラメータの1つとして関数に渡されます。「d」は配列を回転させる量、「len」は配列のサイズです。 「greatest_common_divisor」関数は、「d」と「len」の値を渡すことによって呼び出されます。 「for」ループは、「greatest_common_divisor」への関数呼び出しの結果に対して繰り返されます。
配列要素を表示するために使用される「display_arr」という名前の関数が定義されています。別の関数'greatest_Common_divisor'は、2つの数値の中から最大公約数を見つけるために定義されており、再帰関数です。 main関数では、クラスのインスタンスが作成されます。配列も定義され、このオブジェクトで関数が呼び出されます。関連するデータは、「display_arr」関数を使用して表示されます。
-
配列要素の乗算のためのC++プログラム
整数要素の配列で与えられ、タスクは配列の要素を乗算して表示することです。 例 Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 以下のプログラムで使用されるアプローチは次のとおりです − 一時変数を初期化して、最終結果を1で格納します ループを0からnまで開始します。nは配列のサイズです 最終結果を得るには、tempの値にarr[i]を掛け続
-
配列ローテーション用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −テキストとパターンが与えられた場合、パターンのすべての出現とその順列(またはアナグラム)をテキストで印刷する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # maximum value MAX = 300 # compare def compare(arr1, arr2): for i in range(MAX): if arr1[i] != arr2[i]: &nbs