Вставить в массив новый элемент после последнего положительного - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д