配列ローテーション用の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