Вставить в массив новый элемент после последнего положительного - C#
Формулировка задачи:
Помогите подправить сдвиг массива. Задача: вставить новый элемент после последнего положительного.)
class Program { static int[] setarr(int n) { int[] arr = new int[2 * n]; for (int i = 0; i < n; i++) { Console.Write("Arr[{0}]=", i); arr[i] = Convert.ToInt32(Console.ReadLine()); } return arr; } static void print(int[] arr, int n) { for (int i = 0; i < n; i++) { Console.Write("{0}", arr[i]); } Console.WriteLine(); } static void add(int[] arr, ref int n) { for (int i = n; i >= 0; i--) { if (arr[i - 1] > 0) { int x = arr[i]; ++n; arr[i] = Convert.ToInt32(Console.ReadLine()); arr[++i] = x; break; } } } static void Main() { Console.Write("Введите размерность массива:"); int n = Convert.ToInt32(Console.ReadLine()); int[] arr = setarr(n); Console.WriteLine("Исходный массив:"); print(arr, n); Console.Write("Введите новое значение:"); add(arr, ref n); Console.WriteLine("Изменённый массив:"); print(arr, n); } }
Решение задачи: «Вставить в массив новый элемент после последнего положительного»
textual
Листинг программы
class Program { static int[] setarr(int n) { int[] arr = new int[n]; for (int i = 0; i < n; i++) { Console.Write("Arr[{0}]=", i); arr[i] = Convert.ToInt32(Console.ReadLine()); } return arr; } static void print(int[] arr) { for (int i = 0; i < arr.Length; i++) { Console.Write("{0}", arr[i]); } Console.WriteLine(); } static void add(ref int[] arr, int newVal) { int index = arr.Length; while (arr[--index] <= 0); Array.Resize(ref arr, arr.Length + 1); for (int i=arr.Length-1; i>index+1; i--) { int tmp = arr[i]; arr[i] = arr[i - 1]; arr[i - 1] = tmp; } arr[index + 1] = newVal; } static void Main() { Console.Write("Введите размерность массива:"); int n = Convert.ToInt32(Console.ReadLine()); int[] arr = setarr(n); Console.WriteLine("Исходный массив:"); print(arr); Console.Write("Введите новое значение:"); int newVal = Convert.ToInt32(Console.ReadLine()); add(ref arr, newVal); Console.WriteLine("Изменённый массив:"); print(arr); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д