Вставить число перед всеми отрицательными элементами: исправить код - C#
Формулировка задачи:
Вставить число k перед всеми отрицательными элементами.
Когда ввожу размер массива, все норм. Проблема начинается когда я ввожу число которое нужно заменить по условию, и размер массива сразу на один элемент меньше становится.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { Console.WriteLine("Введите количество элементов массива: "); Random Ran = new Random(); int size = Convert.ToInt32(Console.ReadLine()); int[] a = new int[size]; Console.WriteLine("Введитете элемент который нужно вставить перед отрицательными числами"); int k1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Исходный массив: "); for (int i = 0; i < size; i++) { a[i] = Ran.Next(-5, 5); Console.Write("\t{0}", a[i]); } Console.WriteLine(""); Console.WriteLine("Итоговый массив: "); for (int i = 0; i < size; i++) { if (a[i + 1] < 0) { a[i] = k1; } Console.Write("\t{0}", a[i]); } Console.ReadKey(); } } }
Решение задачи: «Вставить число перед всеми отрицательными элементами: исправить код»
textual
Листинг программы
static int[] NewMass(int[] a, int pVal) { int newSize = 0, itr = 0; foreach (int e in a) if (e < 0) newSize++; int[] newMas = new int[a.Length + newSize]; for (int i = 0; i < a.Length; i++) { if (a[i] < 0) { newMas[itr] = pVal; newMas[++itr] = a[i]; } else newMas[itr] = a[i]; itr++; } return newMas; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д