Вставить число перед всеми отрицательными элементами: исправить код - C#

Узнай цену своей работы

Формулировка задачи:

Вставить число k перед всеми отрицательными элементами. Когда ввожу размер массива, все норм. Проблема начинается когда я ввожу число которое нужно заменить по условию, и размер массива сразу на один элемент меньше становится.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication5
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. Console.WriteLine("Введите количество элементов массива: ");
  12. Random Ran = new Random();
  13. int size = Convert.ToInt32(Console.ReadLine());
  14. int[] a = new int[size];
  15. Console.WriteLine("Введитете элемент который нужно вставить перед отрицательными числами");
  16. int k1 = Convert.ToInt32(Console.ReadLine());
  17. Console.WriteLine("Исходный массив: ");
  18. for (int i = 0; i < size; i++)
  19. {
  20. a[i] = Ran.Next(-5, 5);
  21. Console.Write("\t{0}", a[i]);
  22. }
  23. Console.WriteLine("");
  24. Console.WriteLine("Итоговый массив: ");
  25. for (int i = 0; i < size; i++)
  26. {
  27. if (a[i + 1] < 0)
  28. {
  29. a[i] = k1;
  30. }
  31. Console.Write("\t{0}", a[i]);
  32. }
  33. Console.ReadKey();
  34. }
  35. }
  36. }

Решение задачи: «Вставить число перед всеми отрицательными элементами: исправить код»

textual
Листинг программы
  1.         static int[] NewMass(int[] a, int pVal)
  2.         {
  3.             int newSize = 0,
  4.                 itr = 0;
  5.  
  6.             foreach (int e in a)
  7.                 if (e < 0) newSize++;
  8.  
  9.             int[] newMas = new int[a.Length + newSize];
  10.  
  11.             for (int i = 0; i < a.Length; i++)
  12.             {
  13.                 if (a[i] < 0)
  14.                 {
  15.                     newMas[itr] = pVal;
  16.                     newMas[++itr] = a[i];
  17.                 }
  18.                 else
  19.                     newMas[itr] = a[i];
  20.  
  21.                 itr++;
  22.             }
  23.  
  24.             return newMas;
  25.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы