Убрать нули при разделении массива на положительные и отрицательные числа - C#

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

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

Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные элементы массива A, в массив C — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива B, а затем — размер и содержимое массива C.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication1
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. int i,N,C,d;
  12. Console.WriteLine("Введите число элементов массива - А");
  13. N = Convert.ToInt32(Console.ReadLine()); //1 массив
  14. int[] massive1 = new int[N]; //вводим массив
  15. for (i = 0; i < N; i++) // вводим элементы массив
  16. {
  17. Console.WriteLine("Введите {0}-й элемент массива", i);
  18. massive1[i] = Convert.ToInt32(Console.ReadLine());
  19. }
  20. Console.WriteLine("Элементы массива - В ");
  21. int[] massive2 = new int[N]; //вводим // 2
  22. for (i = 0; i < N; i++) // вводим элементы массив
  23. {
  24. if (massive1[i] > 0) massive2[i] = massive1[i]; // Проверка положительных элементов
  25. Console.WriteLine("Элемент: {0}", massive2[i]); //вывод элементов нового массива
  26. }
  27. d = massive2.Length;
  28. Console.WriteLine("Размер массива - В равен= {0}", d); //вывод размера
  29.  
  30. Console.WriteLine("Элементы массива - C");
  31. int[] massive3 = new int[N]; //вводим массив
  32. for (i = 0; i < N; i++) //вывод всех элементов массива
  33. {
  34. if (massive1[i] < 0) massive3[i] = massive1[i]; // Проверка отрицательных элементов
  35. Console.WriteLine("Элемент: {0}", massive3[i]); //вывод элементов нового массива
  36.  
  37. }
  38. C = massive3.Length;
  39. Console.WriteLine("Размер массива - C равен= {0}", C); //вывод размера
  40. Console.ReadKey();
  41. }
  42. }
  43. }
Думаю, проблему видно по 2 скрину. Не могу убрать лишние нули,возможно, нужно было использовать foreach, но не могу понять принцип его действия.

Решение задачи: «Убрать нули при разделении массива на положительные и отрицательные числа»

textual
Листинг программы
  1. using System;
  2. class Program
  3. {
  4.     static void Main()
  5.     {
  6.         Console.Write("длина массива 'A' : ");
  7.         int[] A = new int[int.Parse(Console.ReadLine())];
  8.         int[] B = new int[A.Length];
  9.         int[] C = new int[A.Length];
  10.         int b = 0, c = 0;
  11.         for (int i = 0; i < A.Length; i++)
  12.         {
  13.             Console.Write("A[{0}] = ", i);
  14.             A[i] = int.Parse(Console.ReadLine());
  15.             if (A[i] > 0)
  16.                 B[b++] = A[i];
  17.             else if (A[i] < 0) C[c++] = A[i];
  18.         }
  19.         Console.WriteLine();
  20.         for (int i = 0; i < b; i++) Console.WriteLine("B[{0}] = " + B[i], i);
  21.         Console.WriteLine();
  22.         for (int i = 0; i < c; i++) Console.WriteLine("C[{0}] = " + C[i], i);
  23.         Console.WriteLine();
  24.         Console.ReadKey();
  25.     }
  26. }

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


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

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

10   голосов , оценка 4.3 из 5

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

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

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