/* מחלקת שירותי מערך */ using System; public class ArrayServices { // הפעולה מקבלת כפרמטר מערך חד-ממדי //הפעולה מחזירה "אמת" אם קיים רצף של שבעה אפסים או יותר, // אחרת יוחזר "שקר" public static bool Seven(int[] a) { int counter = 0; for (int i = 0; i < a.Length; i++) { if (a[i] == 0) counter++; else { if (counter >= 7) return true; else counter = 0; } } if (counter >= 7) return true; else return false; } //הזזת כל האיברים החל מהאיבר ה-k, //k מקומות שמאלה public static void Shift(int[] a, int k) { for (int i = k; i < a.Length; i++) a[i - k] = a[i]; for (int i = a.Length - k; i < a.Length; i++) a[i] = 0; } /* אופציה נוספת לכתיבת הפעולה public static void Shift(int[] a, int k) { for (int i = 0; i < k; i++) for (int j = 0; j < a.Length - 1; j++) a[j] = a[j+1]; for (int i = a.Length - k; i < a.Length; i++) a[i] = 0; } */ public static void Main() { int k; int[] a = new int[15]; //קלט למערך Console.WriteLine("Enter 105 array values: "); for (int i = 0; i < a.Length; i++) a[i] = int.Parse(Console.ReadLine()); while (Seven(a) == false) { Console.Write("Enter a number between 1-4: "); k = int.Parse(Console.ReadLine()); Shift(a, k); } //הדפסת המערך Console.WriteLine("The array values are: "); for (int i = 0; i < a.Length; i++) Console.Write("{0} ", a[i]); }//Main }//ArrayServices